mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-21 17:23:37 -07:00
fix(hooks): final verified fixes for Windows flakiness and PTY issues
This commit is contained in:
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user