diff --git a/.github/workflows/chained_e2e.yml b/.github/workflows/chained_e2e.yml index d1a4018898..431bb6fb8f 100644 --- a/.github/workflows/chained_e2e.yml +++ b/.github/workflows/chained_e2e.yml @@ -4,7 +4,6 @@ on: push: branches: - 'main' - - 'ntm/repro-hook-flakiness' merge_group: workflow_run: workflows: ['Trigger E2E'] @@ -131,7 +130,8 @@ jobs: - 'merge_queue_skipper' - 'parse_run_context' runs-on: 'gemini-cli-ubuntu-16-core' - if: false + if: | + always() && (needs.merge_queue_skipper.result !='success' || needs.merge_queue_skipper.outputs.skip != 'true') strategy: fail-fast: false matrix: @@ -183,7 +183,8 @@ jobs: - 'merge_queue_skipper' - 'parse_run_context' runs-on: 'macos-latest' - if: false + if: | + always() && (needs.merge_queue_skipper.result !='success' || needs.merge_queue_skipper.outputs.skip != 'true') steps: - name: 'Checkout' uses: 'actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955' # ratchet:actions/checkout@v5 @@ -274,7 +275,7 @@ jobs: UV_THREADPOOL_SIZE: '32' NODE_ENV: 'test' shell: 'pwsh' - run: 'npx vitest run --root integration-tests hooks-system.test.ts hooks-agent-flow.test.ts --test-timeout 600000 --allowOnly' + run: 'npm run test:e2e' evals: name: 'Evals (ALWAYS_PASSING)' @@ -282,7 +283,8 @@ jobs: - 'merge_queue_skipper' - 'parse_run_context' runs-on: 'gemini-cli-ubuntu-16-core' - if: false + if: | + always() && (needs.merge_queue_skipper.result !='success' || needs.merge_queue_skipper.outputs.skip != 'true') steps: - name: 'Checkout' uses: 'actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955' # ratchet:actions/checkout@v5 @@ -311,17 +313,32 @@ jobs: if: | always() && (needs.merge_queue_skipper.result !='success' || needs.merge_queue_skipper.outputs.skip != 'true') needs: + - 'e2e_linux' + - 'e2e_mac' - 'e2e_windows' + - 'evals' - 'merge_queue_skipper' runs-on: 'gemini-cli-ubuntu-16-core' steps: - name: 'Check E2E test results' run: | + if [[ ${{ needs.e2e_linux.result }} != 'success' ]]; then + echo "Linux E2E job failed." + exit 1 + fi + if [[ ${{ needs.e2e_mac.result }} != 'success' ]]; then + echo "macOS E2E job failed." + exit 1 + fi if [[ ${{ needs.e2e_windows.result }} != 'success' ]]; then echo "Windows E2E job failed." exit 1 fi - echo "Windows E2E job passed!" + if [[ ${{ needs.evals.result }} != 'success' ]]; then + echo "Evals job failed." + exit 1 + fi + echo "All E2E jobs passed!" set_workflow_status: runs-on: 'gemini-cli-ubuntu-16-core' diff --git a/packages/test-utils/src/test-rig.ts b/packages/test-utils/src/test-rig.ts index 776acd62ed..a4e7a0012d 100644 --- a/packages/test-utils/src/test-rig.ts +++ b/packages/test-utils/src/test-rig.ts @@ -585,9 +585,6 @@ export class TestRig { }); this._spawnedProcesses.push(child); - if (env['VERBOSE'] === 'true' || env['CI'] === 'true') { - } - let stdout = ''; let stderr = ''; @@ -842,9 +839,6 @@ export class TestRig { } async cleanup() { - if (env['VERBOSE'] === 'true' || env['CI'] === 'true') { - } - // Kill any interactive runs that are still active for (const run of this._interactiveRuns) { try { @@ -893,8 +887,6 @@ export class TestRig { // Clean up test directory and home directory if (this.testDir && !env['KEEP_OUTPUT']) { try { - if (env['VERBOSE'] === 'true' || env['CI'] === 'true') { - } fs.rmSync(this.testDir, { recursive: true, force: true }); } catch (error) { // Ignore cleanup errors @@ -905,8 +897,6 @@ export class TestRig { } if (this.homeDir && !env['KEEP_OUTPUT']) { try { - if (env['VERBOSE'] === 'true' || env['CI'] === 'true') { - } fs.rmSync(this.homeDir, { recursive: true, force: true }); } catch (error) { // Ignore cleanup errors