Remove unnecessary test dependency from canary_go job#13925
Merged
Conversation
The canary_go job downloads test artifacts using the download-artifact action with pattern matching (test-result-*). This action fetches artifacts by name from the entire workflow run, regardless of job dependencies. Since both test and integration jobs upload their artifacts independently, canary_go can start as soon as integration finishes without waiting for the test job to complete, saving 2-3 minutes in typical runs. No functionality impact - artifacts remain available via pattern matching. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Remove unnecessary test dependency from canary_go job
Remove unnecessary test dependency from canary_go job
Feb 5, 2026
This was referenced Feb 5, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR optimizes the CI workflow by removing an unnecessary job dependency. The canary_go job previously waited for both test and integration jobs to complete, but only needed to wait for integration since GitHub Actions' download-artifact fetches artifacts by name/pattern from the entire workflow run, not just from dependent jobs.
Changes:
- Removed
testfrom theneedsarray of thecanary_gojob, allowing it to start as soon asintegrationcompletes
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
canary_gojob waited for bothtestandintegrationjobs to complete before starting, but only needsintegration. GitHub Actions'download-artifactfetches artifacts by name/pattern from the entire workflow run, not just from dependent jobs.Change
Impact
test-result-*)The canary job downloads both
test-result-unitandtest-result-integration-*artifacts using pattern matching. Since both source jobs upload independently, explicit dependency ontestis unnecessary.Original prompt
This section details on the original issue you should resolve
<issue_title>[ci-coach] Remove unnecessary test dependency from canary_go job</issue_title>
<issue_description>### Summary
Removes the unnecessary
testjob dependency from thecanary_gojob. The canary job downloads test artifacts but doesn't need to wait for the unit test job to complete before starting.Optimization
Remove Test Dependency from Canary Job
Type: Job Dependency Optimization
Impact: ~2-3 minutes per run
Risk: Very Low
Changes:
testfromneeds: [test, integration]→needs: [integration]Current Flow:
Rationale:
The
canary_gojob's purpose is to verify test coverage by downloading artifacts from both unit and integration tests. GitHub Actions'download-artifactaction fetches artifacts by name regardless of job dependencies - it only requires that the artifacts exist. Since bothtestandintegrationjobs upload their artifacts independently (test-result-unitandtest-result-integration-*), the canary job will successfully download both sets of artifacts even without an explicit dependency ontest.By removing this dependency:
download-artifactExpected Impact
Validation Results
✅ All validations passed:
python3 -c "import yaml; yaml.safe_load(...)"- passedTesting Plan
Analysis Context
This optimization was identified by the CI Coach workflow (run #69) after analyzing 100 recent CI runs. The analysis found:
Current CI Health:
Why This Change:
The CI workflow is already well-optimized. This is the only clear low-risk optimization identified. Other potential improvements (reducing matrix size, cache optimization) have higher risk or lower impact.
Metrics Baseline:
Analysis performed by CI Coach workflow run §69
To apply the patch locally:
Show patch (37 lines)