name: Go Tests on: [push, pull_request] permissions: contents: read jobs: test: name: Test runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Install Go uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 with: go-version-file: .go-version id: go - name: Build run: go build -v ./... - name: Test run: | ( cd request; go test -race ./... ) ( cd core; go test -race ./... ) ( cd coremain; go test -race ./... ) test-windows: name: Test Windows runs-on: windows-latest steps: - name: Check out code uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Install Go uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 with: go-version-file: .go-version id: go - name: Build run: go build -v ./... - name: Test shell: bash run: | ( cd request; go test -race ./... ) ( cd core; go test -race ./... ) ( cd coremain; go test -race ./... ) test-plugins: name: Test Plugins runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Install Go uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 with: go-version-file: .go-version id: go - name: Build run: go build -v ./... - name: Test run: ( cd plugin; go test -race ./... ) test-e2e: name: Test e2e runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Install Go uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 with: go-version-file: .go-version id: go - name: Build run: go build -v ./... - name: Test run: | go install github.com/fatih/faillint@c56e3ec6dbfc933bbeb884fd31f2bcd41f712657 # v1.15.0 ( cd test; go test -race ./... ) test-makefile-release: name: Test Makefile.release runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Install dependencies run: sudo apt-get install make curl - name: Test Makefile.release release run: make GITHUB_ACCESS_TOKEN=x release -f Makefile.release - name: Test Makefile.release release/github-push (dry-run) run: make GITHUB_ACCESS_TOKEN=x -n release github-push -f Makefile.release - name: Test Makefile.docker release/github-push (dry-run) run: make VERSION=x DOCKER=x -n release docker-push -f Makefile.docker