-
Notifications
You must be signed in to change notification settings - Fork 3k
ci: quarantine cron-interactive from push E2E to nightly-only #6986
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -96,9 +96,9 @@ jobs: | |
| VERBOSE: 'true' | ||
| run: |- | ||
| if [[ "${{ matrix.sandbox }}" == "sandbox:docker" ]]; then | ||
| npm run test:integration:sandbox:docker | ||
| npm run test:integration:sandbox:docker -- --exclude '**/interactive/cron-interactive.test.ts' | ||
| else | ||
| npm run test:integration:sandbox:none | ||
| npm run test:integration:sandbox:none -- --exclude '**/interactive/cron-interactive.test.ts' | ||
| fi | ||
|
|
||
| e2e-test-macos: | ||
|
|
@@ -143,7 +143,56 @@ jobs: | |
| OPENAI_API_KEY: '${{ secrets.OPENAI_API_KEY }}' | ||
| OPENAI_BASE_URL: '${{ secrets.OPENAI_BASE_URL }}' | ||
| OPENAI_MODEL: '${{ secrets.OPENAI_MODEL }}' | ||
| run: 'npm run test:e2e' | ||
| run: 'npx cross-env VERBOSE=true KEEP_OUTPUT=true QWEN_SANDBOX=false vitest run --root ./integration-tests --exclude "**/interactive/cron-interactive.test.ts"' | ||
|
|
||
| cron-interactive-nightly: | ||
| name: 'cron-interactive E2E (nightly)' | ||
|
Comment on lines
+148
to
+149
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [Suggestion] Consider adding a conditional notification step: - name: 'Report nightly failure'
if: failure()
env:
GH_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
run: |
gh issue create --title "Nightly cron-interactive E2E failure ($(date +%F))" \
--label "ci/nightly-failure" \
--body "See: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"This preserves — qwen3.7-max via Qwen Code /review |
||
| runs-on: 'ubuntu-latest' | ||
| if: |- | ||
| ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }} | ||
|
Comment on lines
+150
to
+152
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [Suggestion] The nightly job runs only on Consider adding macOS to the nightly matrix: strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}Or at minimum, document that macOS coverage is intentionally dropped for nightly. — qwen3.7-max via Qwen Code /review |
||
| # This test is inherently timing-flaky (wall-clock cron fire + real model | ||
| # latency). Run it nightly only so flakes do not turn push CI red. | ||
| # continue-on-error prevents this job from marking the workflow as failed. | ||
| continue-on-error: true | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [Suggestion] No timeout-minutes: 30— qwen3.7-max via Qwen Code /review |
||
| steps: | ||
| - name: 'Checkout' | ||
| uses: 'actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10' # v6.0.3 | ||
|
|
||
| - name: 'Set up Node.js' | ||
| uses: 'actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e' # v6.4.0 | ||
| with: | ||
| node-version-file: '.nvmrc' | ||
| cache: 'npm' | ||
| cache-dependency-path: 'package-lock.json' | ||
| registry-url: 'https://registry.npmjs.org/' | ||
|
|
||
| - name: 'Configure npm for rate limiting' | ||
| run: |- | ||
| npm config set fetch-retry-mintimeout 20000 | ||
| npm config set fetch-retry-maxtimeout 120000 | ||
| npm config set fetch-retries 5 | ||
| npm config set fetch-timeout 300000 | ||
|
|
||
| - name: 'Install dependencies' | ||
| run: |- | ||
| npm ci --prefer-offline --no-audit --progress=false | ||
|
|
||
| - name: 'Build project' | ||
| run: |- | ||
| npm run build | ||
|
|
||
| - name: 'Bundle CLI for E2E tests' | ||
| run: |- | ||
| npm run bundle | ||
|
|
||
| - name: 'Run cron-interactive E2E tests' | ||
| env: | ||
| OPENAI_API_KEY: '${{ secrets.OPENAI_API_KEY }}' | ||
| OPENAI_BASE_URL: '${{ secrets.OPENAI_BASE_URL }}' | ||
| OPENAI_MODEL: '${{ secrets.OPENAI_MODEL }}' | ||
| KEEP_OUTPUT: 'true' | ||
| VERBOSE: 'true' | ||
| run: 'npx cross-env QWEN_SANDBOX=false vitest run --root ./integration-tests interactive/cron-interactive.test.ts' | ||
|
|
||
| web-shell-browser-regression: | ||
| name: 'web-shell Browser Regression' | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[Suggestion] The macOS job inlines the full vitest command instead of delegating to the
test:e2enpm script like every other job. This means future changes totest:e2eortest:integration:sandbox:noneinpackage.json(new flags, reporters, pool options) will silently not apply to the macOS job.Concrete cost: the Linux job uses
npm run test:integration:sandbox:none -- --exclude '...'and automatically picks up script changes. The macOS job should follow the same pattern throughtest:e2e:This expands through
test:e2e→test:integration:sandbox:none→vitest run --root ./integration-tests --exclude "**/interactive/cron-interactive.test.ts", preservingVERBOSE,KEEP_OUTPUT, andQWEN_SANDBOXfrom the script chain while picking up any future script modifications.— qwen3.7-max via Qwen Code /review