-
-
Notifications
You must be signed in to change notification settings - Fork 28
Updated to CI Runner 25.10.0 #2065
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
Conversation
WalkthroughThe PR updates CI/CD configuration files to bump drevops/ci-runner image references (from pinned v25.9.0 to v25.10.0 or canary) and increments database cache key/version prefixes to v25.10.0; no workflow logic or control flow changes. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Possibly related PRs
Suggested labels
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (3)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (14)
🔇 Additional comments (7)
Comment |
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.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/build-test-deploy.yml (1)
1-50: PR description is incomplete.The PR description contains only "Closes #" with no issue number specified. This makes it difficult to understand the business context or motivation for upgrading to CI Runner 25.10.0 and switching to the canary tag.
Recommendation: Provide a complete PR description explaining:
- Why the version bump is necessary
- Why the move from pinned digests to
canaryis appropriate (if intentional)- Any breaking changes or new capabilities in v25.10.0
- Testing/validation performed
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (3)
.circleci/config.yml(4 hunks).github/workflows/build-test-deploy.yml(7 hunks).github/workflows/vortex-test-common.yml(3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
- GitHub Check: vortex-test-installer (8.4)
- GitHub Check: vortex-test-installer (8.3)
- GitHub Check: vortex-test-installer (8.2)
- GitHub Check: vortex-test-workflow (3)
- GitHub Check: vortex-test-workflow (0)
- GitHub Check: vortex-test-deployment (1)
- GitHub Check: vortex-test-common
- GitHub Check: vortex-test-workflow (2)
- GitHub Check: vortex-test-workflow (1)
- GitHub Check: vortex-test-deployment (0)
- GitHub Check: database
- GitHub Check: vortex-test-workflow (4)
- GitHub Check: vortex-test-docs
🔇 Additional comments (3)
.circleci/config.yml (1)
157-157: Cache key versioning is consistent.All database-related cache operations across the CircleCI workflow have been updated to the v25.10.0 prefix. The cache keys, restore-keys, and fallback strategies are consistent and properly aligned.
Also applies to: 160-160, 190-190, 239-239, 240-240
.github/workflows/build-test-deploy.yml (2)
125-125: Cache key versioning is consistent and properly updated.All database-related cache operations (restore_cache, save_cache, and diagnostic echo statements) have been consistently updated to use the v25.10.0 prefix, including fallback restore-keys. The version bump is applied uniformly across all cache-related steps.
Also applies to: 129-129, 161-161, 226-226, 238-238, 240-240
63-63: Verify the intent behind switching to the canary tag and consider using the pinned version mentioned in the commit message.The review comment accurately identifies that all three CI jobs (database at line 63, build at 179, deploy at 417) were recently switched from pinned image tags with SHA256 digests (e.g.,
drevops/ci-runner:25.9.0@sha256:...) to the movingcanarytag. This change introduces reproducibility concerns—moving tags can resolve to different images between runs, increasing flakiness risk.However, the commit message states "Updated to CI Runner 25.10.0," while the actual image tag was changed to
canaryrather than a pinned25.10.0. The cache keys were updated tov25.10.0, suggesting the original intent aligned with the review's recommendation. Consider clarifying: was thecanarytag choice intentional, or should images be reverted to pinned versions (e.g.,drevops/ci-runner:25.10.0@sha256:...) as the commit message implies?
|
|
||
| container: | ||
| image: drevops/ci-runner:25.9.0@sha256:94e278c994808d966dd28143fe990b19351697a5915a0ab346f39434aec28b27 | ||
| image: drevops/ci-runner:canary |
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.
🧩 Analysis chain
Reconsider using the moving canary tag for CI/CD workflows.
Switching from pinned SHA digests (e.g., drevops/ci-runner:25.9.0@sha256:...) to the moving canary tag introduces instability risk. Canary images are pre-release and can break unpredictably between runs, causing flaky CI failures unrelated to code changes. This is particularly risky for production CI/CD pipelines.
Recommendation: Use a stable, pinned image tag (e.g., drevops/ci-runner:25.10.0) or a specific SHA digest instead of canary.
Also applies to: 122-122, 191-191
I'll verify this review comment by examining the workflow file and researching the drevops/ci-runner image.
[/run_scripts]
Based on my research, I've found key information about the concern raised:
The drevops/ci-runner uses canary versioning where changes are released as a canary version, confirming the canary tag exists. Additionally, Docker and CI/CD best practices strongly support the concern: you should always pin a specific version of an image, as using a tag like docker:latest provides no control over which version is used and can cause incompatibility problems when new versions are released.
Now let me verify the actual workflow file to confirm the specific lines mentioned in the review.
🏁 Script executed:
#!/bin/bash
# Check the workflow file for canary tag usage at specified lines
if [ -f ".github/workflows/vortex-test-common.yml" ]; then
echo "=== File content at lines 20-25 ==="
sed -n '20,25p' ".github/workflows/vortex-test-common.yml"
echo ""
echo "=== File content at lines 119-125 ==="
sed -n '119,125p' ".github/workflows/vortex-test-common.yml"
echo ""
echo "=== File content at lines 188-194 ==="
sed -n '188,194p' ".github/workflows/vortex-test-common.yml"
echo ""
echo "=== Count of 'canary' occurrences ==="
grep -c "canary" ".github/workflows/vortex-test-common.yml" || echo "0 matches"
else
echo "File not found: .github/workflows/vortex-test-common.yml"
fiLength of output: 668
I need to search more specifically for information about the drevops/ci-runner canary tag to understand what it actually represents.<!-- [scratchpad_update]
[task verify_review_comment 2/2 verify_canary_tag_nature COMPLETE]
[critical_findings]
Found key information in drevops/ci-runner GitHub documentation:
- "Renovate bot is used to update dependencies. It creates a PR with the changes and automatically merges it if CI passes. These changes are then released as a canary version."
- Official documentation confirms canary versions exist
- But still NO mention of a "canary" Docker tag specifically
- Documentation only shows YY.m.patch tags and test-ci tag in examples
- No documentation indicating the workflow uses canary tag at lines 23, 122, 191
[analysis_canary_concept] - Found reference to actions-runner-controller:canary in issue [8.x] Fix link to Pygmy Documentation #427
- Quote from maintainer: "In general don't run the canary image unless you know why you are running it... It's an especially unstable development image as any push to master that isn't for the runners will trigger a build and a publish to Dockerhub."
- This confirms canary tags in general CI/CD context are unstable
- General Docker best practices from multiple sources: use specific version tags, avoid latest and similar moving tags
- GitLab documentation: "If tags like docker:stable are used, you have no control over what version is going to be used and this can lead to unpredictable behavior, especially when new versions are released."
[conclusion] - Review comment factually correct: workflow uses canary tag at specified lines
- General concern about canary tags is valid based on Docker/CI best practices
- However: drevops/ci-runner documentation does NOT explicitly document a "canary" tag as unstable
- The concern may be based on general canary tag practices rather than drevops-specific knowledge
- The recommendation to use pinned versions (e.g., 25.10.0) aligns with best practices
[final_determination] - Workflow file confirmed to use drevops/ci-runner:canary at lines 23, 122, 191
- General concern about canary tags is valid per Docker/CI best practices
- Review comment's recommendation is sound and actionable
- Tags are appropriate for a or determination
[scratchpad_end] -->
Based on my verification, I've confirmed that the workflow file .github/workflows/vortex-test-common.yml does contain canary versions released in the drevops/ci-runner project. While releases are scheduled at minimum once per month with YY.m.patch tags, the project documentation also confirms that changes are then released as a canary version.
The review comment's concern aligns with established CI/CD best practices: you should always pin a specific version of the image, and if you use a tag like docker:latest, you have no control over which version is used, which can cause incompatibility problems when new versions are released.
Pin the container image to a stable version instead of using the canary tag.
Replace drevops/ci-runner:canary with a specific stable version tag (e.g., drevops/ci-runner:25.10.0) at lines 23, 122, and 191 to ensure consistent and predictable CI/CD behavior across workflow runs.
🤖 Prompt for AI Agents
.github/workflows/vortex-test-common.yml lines 23, 122 and 191: the workflow
uses the mutable image tag drevops/ci-runner:canary which can lead to
unpredictable CI runs; change each occurrence to a specific stable version tag
(for example drevops/ci-runner:25.10.0) by replacing :canary with the chosen
YY.m.patch release tag and ensure the chosen version is updated deliberately via
dependency updates rather than left as a moving tag.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #2065 +/- ##
========================================
Coverage 64.05% 64.05%
========================================
Files 92 92
Lines 5692 5692
Branches 44 44
========================================
Hits 3646 3646
Misses 2046 2046 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
4dd8578 to
162769f
Compare
Closes #
Summary by CodeRabbit