diff --git a/.github/workflows/bazel.yml b/.github/workflows/bazel.yml index 3e48b741b76f..a8c886d885a9 100644 --- a/.github/workflows/bazel.yml +++ b/.github/workflows/bazel.yml @@ -130,6 +130,62 @@ jobs: if: always() && !cancelled() uses: ./.github/actions/check-clean-worktree + e2e-benchmark-smoke: + runs-on: ubuntu-24.04 + name: Bazel end-to-end benchmark smoke + environment: + name: bazel + deployment: false + + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} + persist-credentials: false + + - name: Prepare Bazel CI + id: prepare_bazel + uses: ./.github/actions/prepare-bazel-ci + with: + target: x86_64-unknown-linux-gnu + cache-scope: bazel-e2e-benchmark-smoke + + - name: Bazel end-to-end benchmark smoke test + env: + BUILDBUDDY_API_KEY: ${{ secrets.BUILDBUDDY_API_KEY }} + run: | + ./.github/scripts/run-bazel-ci.sh -- \ + test \ + --compilation_mode=fastbuild \ + --@rules_rust//rust/settings:extra_rustc_flag=-Cdebug-assertions=no \ + --@rules_rust//rust/settings:extra_exec_rustc_flag=-Cdebug-assertions=no \ + --cache_test_results=no \ + --test_output=streamed \ + --test_arg=--test \ + -- \ + //codex-rs:e2e-benchmarks + + - name: Upload Bazel execution logs + if: always() && !cancelled() + continue-on-error: true + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + with: + name: bazel-execution-logs-e2e-benchmark-smoke + path: ${{ runner.temp }}/bazel-execution-logs + if-no-files-found: ignore + + - name: Save bazel repository cache + if: always() && !cancelled() && steps.prepare_bazel.outputs.repository-cache-hit != 'true' + continue-on-error: true + uses: actions/cache/save@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 + with: + path: ${{ steps.prepare_bazel.outputs.repository-cache-path }} + key: ${{ steps.prepare_bazel.outputs.repository-cache-key }} + + - name: Check for a clean worktree + if: always() && !cancelled() + uses: ./.github/actions/check-clean-worktree + test-windows-shard: # Split the Windows Bazel test leg across separate Windows hosts. Jobs with # BuildBuddy credentials use Linux RBE for build actions; test execution