name: Integration Test on: workflow_dispatch: push: branches: - main - "release/**" paths: - "**.go" - "**/go.mod" - "**/go.sum" - ".github/workflows/test-integration.yml" pull_request: paths: - "**.go" - "**/go.mod" - "**/go.sum" - ".github/workflows/test-integration.yml" jobs: integration-test: runs-on: ubuntu-22.04 env: CTEST_OUTPUT_ON_FAILURE: True steps: - name: Checkout uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }} - name: Setup Go environment uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0 with: go-version: "1.21.4" cache: true - name: Install Dependencies run: sudo apt-get update && sudo apt-get install -y libcryptsetup12 libcryptsetup-dev - name: Create and populate build folder run: mkdir build && cd build && cmake .. # Runs all test targets starting with "integration-" - name: CMake-based Integration Tests working-directory: build run: ctest -R integration- - name: Setup bazel uses: ./.github/actions/setup_bazel_nix with: useCache: "true" buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }} - name: Integration Tests env: TMPDIR: ${{ runner.temp }} run: bazel test //... --test_output=errors --config=nostamp --config=integration-only --remote_download_minimal