name: Tests on: [push, pull_request] permissions: read-all jobs: goversion: uses: ./.github/workflows/go-version.yaml test: runs-on: ubuntu-latest needs: goversion strategy: fail-fast: false matrix: target: - linux-amd64-integration-1-cpu - linux-amd64-integration-2-cpu - linux-amd64-integration-4-cpu - linux-amd64-unit-4-cpu-race - linux-386-unit-1-cpu steps: - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 with: go-version: ${{ needs.goversion.outputs.goversion }} - run: date - env: TARGET: ${{ matrix.target }} run: | set -euo pipefail mkdir "${TARGET}" export JUNIT_REPORT_DIR=$(realpath ${TARGET}) case "${TARGET}" in linux-amd64-integration-1-cpu) GOOS=linux GOARCH=amd64 CPU=1 make test-integration ;; linux-amd64-integration-2-cpu) GOOS=linux GOARCH=amd64 CPU=2 make test-integration ;; linux-amd64-integration-4-cpu) GOOS=linux GOARCH=amd64 CPU=4 make test-integration ;; linux-amd64-unit-4-cpu-race) GOOS=linux GOARCH=amd64 CPU=4 RACE=true GO_TEST_FLAGS='-p=2' make test-unit ;; linux-386-unit-1-cpu) GOOS=linux GOARCH=386 CPU=1 GO_TEST_FLAGS='-p=4' make test-unit ;; *) echo "Failed to find target" exit 1 ;; esac - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2 if: always() with: path: ./**/junit_*.xml