| on: [push] | |
| name: Test | |
| jobs: | |
| test: | |
| strategy: | |
| matrix: | |
| # This is just a version to compile the integration_test.go; see | |
| # golangVersions in that file for the list of actual Go versions used. | |
| go-version: [1.x] | |
| os: [ubuntu-latest] # TODO: Add [macos-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Install Linux dependencies | |
| if: runner.os == 'Linux' | |
| run: sudo apt-get -y install autoconf automake libtool curl make g++ unzip | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| - name: Install Go | |
| uses: actions/setup-go@v4 | |
| with: | |
| go-version: ${{ matrix.go-version }} | |
| - name: Cache dependencies | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| .cache | |
| ~/.cache/bazel | |
| key: ${{ runner.os }}-${{ hashFiles('integration_test.go') }} | |
| - name: Test | |
| env: | |
| # Protobuf 25 does not yet support Bazel 7 | |
| USE_BAZEL_VERSION: latest-1 | |
| run: go test -run='^TestIntegration$' -v -timeout=60m -count=1 -failfast "$@" |