fix(ci): reduce ci usage by only running jobs on merge group#3194
fix(ci): reduce ci usage by only running jobs on merge group#3194
Conversation
There was a problem hiding this comment.
Pull request overview
This PR attempts to reduce CI usage by restricting expensive test workflows (Proof, Sysgo E2E Tests, and Acceptance Tests) to run only in the merge group, removing both pull_request and push triggers. While the intention to reduce CI costs is understandable, this approach has significant workflow implications that need to be carefully considered.
Key Changes:
- Removed
pull_requesttrigger from three expensive test workflows - Removed
pushtrigger for main branch from the same workflows - Workflows now only run in merge_group context
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| .github/workflows/proof.yaml | Removed pull_request and push triggers, keeping only merge_group for proof/FPP tests |
| .github/workflows/node_e2e_sysgo_tests.yaml | Removed pull_request and push triggers, keeping only merge_group for Sysgo E2E tests |
| .github/workflows/acceptance-tests.yaml | Removed pull_request and push triggers, keeping only merge_group for acceptance tests |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -1,9 +1,6 @@ | |||
| name: Proof | |||
| on: | |||
There was a problem hiding this comment.
Removing the pull_request trigger means these critical tests will not run on pull requests at all. This creates a significant workflow issue:
- Developers won't see test results during PR review
- Test failures will only be discovered in the merge queue, not during development
- This delays feedback and can block the merge queue with failing PRs
If the goal is to reduce CI usage, consider alternative approaches:
- Use path filters to only run tests when relevant files change
- Use conditional logic based on labels (e.g., only run on PRs labeled "ready-for-review")
- Use workflow_run to trigger only after other checks pass
- Keep
pull_requestbut add conditions to skip on draft PRs
Completely removing pull_request triggers from test workflows is likely to cause more problems than it solves.
| on: | |
| on: | |
| pull_request: | |
| paths: | |
| - 'tests/**' | |
| - '.github/**' | |
| - 'justfile' | |
| - 'Cargo.*' | |
| - '**/Cargo.*' |
| @@ -1,9 +1,6 @@ | |||
| name: Sysgo E2E Tests | |||
| on: | |||
There was a problem hiding this comment.
Removing the pull_request trigger means these critical tests will not run on pull requests at all. This creates a significant workflow issue:
- Developers won't see test results during PR review
- Test failures will only be discovered in the merge queue, not during development
- This delays feedback and can block the merge queue with failing PRs
If the goal is to reduce CI usage, consider alternative approaches:
- Use path filters to only run tests when relevant files change
- Use conditional logic based on labels (e.g., only run on PRs labeled "ready-for-review")
- Use workflow_run to trigger only after other checks pass
- Keep
pull_requestbut add conditions to skip on draft PRs
Completely removing pull_request triggers from test workflows is likely to cause more problems than it solves.
| on: | |
| on: | |
| pull_request: | |
| paths: | |
| - 'node/**' | |
| - 'tests/**' | |
| - '.github/workflows/node_e2e_sysgo_tests.yaml' |
| @@ -1,9 +1,6 @@ | |||
| name: Acceptance Tests | |||
| on: | |||
There was a problem hiding this comment.
Removing the pull_request trigger means these critical tests will not run on pull requests at all. This creates a significant workflow issue:
- Developers won't see test results during PR review
- Test failures will only be discovered in the merge queue, not during development
- This delays feedback and can block the merge queue with failing PRs
If the goal is to reduce CI usage, consider alternative approaches:
- Use path filters to only run tests when relevant files change
- Use conditional logic based on labels (e.g., only run on PRs labeled "ready-for-review")
- Use workflow_run to trigger only after other checks pass
- Keep
pull_requestbut add conditions to skip on draft PRs
Completely removing pull_request triggers from test workflows is likely to cause more problems than it solves.
| on: | |
| on: | |
| pull_request: |
| on: | ||
| push: | ||
| branches: [main] | ||
| merge_group: |
There was a problem hiding this comment.
Removing the push trigger for the main branch means these tests won't run after PRs are merged to main. While merge_group should catch issues before merging, consider these scenarios:
- Direct pushes to main (if permitted) won't trigger tests
- Post-merge verification won't occur
- Branch protection may not have visibility into the health of the main branch
If your workflow relies exclusively on merge queues and direct pushes to main are disabled via branch protection, this may be acceptable. However, it's worth verifying that this aligns with your repository's branch protection rules and merge strategy.
| merge_group: | |
| merge_group: | |
| push: | |
| branches: | |
| - main |
| @@ -1,9 +1,6 @@ | |||
| name: Sysgo E2E Tests | |||
| on: | |||
There was a problem hiding this comment.
Removing the push trigger for the main branch means these tests won't run after PRs are merged to main. While merge_group should catch issues before merging, consider these scenarios:
- Direct pushes to main (if permitted) won't trigger tests
- Post-merge verification won't occur
- Branch protection may not have visibility into the health of the main branch
If your workflow relies exclusively on merge queues and direct pushes to main are disabled via branch protection, this may be acceptable. However, it's worth verifying that this aligns with your repository's branch protection rules and merge strategy.
| on: | |
| on: | |
| push: | |
| branches: | |
| - main |
| @@ -1,9 +1,6 @@ | |||
| name: Acceptance Tests | |||
| on: | |||
There was a problem hiding this comment.
Removing the push trigger for the main branch means these tests won't run after PRs are merged to main. While merge_group should catch issues before merging, consider these scenarios:
- Direct pushes to main (if permitted) won't trigger tests
- Post-merge verification won't occur
- Branch protection may not have visibility into the health of the main branch
If your workflow relies exclusively on merge queues and direct pushes to main are disabled via branch protection, this may be acceptable. However, it's worth verifying that this aligns with your repository's branch protection rules and merge strategy.
| on: | |
| on: | |
| push: | |
| branches: | |
| - main |
Codecov Report✅ All modified and coverable lines are covered by tests.
☔ View full report in Codecov by Sentry. |
|
Force merging that one so that the changes are applied |
…ona#3194) ## Description CI usage has been high, this reduces the usage by running expensive jobs only in the mq
Description
CI usage has been high, this reduces the usage by running expensive jobs only in the mq