Repository navigation
[ci] Catch up stale default image tags to 4.51.0-20261010 - #3275
Merged
Merged
Conversation
Fixes #3274. Since the 4.49.0 release, update_tag_in_docs_and_files.sh's whole-tree sed has matched nothing in these 51 files: the old sort-based LATEST_TAG resolution picked 4.48.0-20261010 (lexically highest) instead of the real previous tag 4.48.0-20260905, so the sed found no match and these files were never rewritten. #3254 fixed the resolution (switched to ancestry-based `git describe`), but every release since then searches for the immediately-preceding tag, which is never what's actually still embedded several releases back - so it can't self-heal without a one-time manual catch-up. Ran update_tag_in_docs_and_files.sh 4.48.0-20260905 4.51.0-20261010 locally and reviewed the diff by hand. Reverted four files it touched that shouldn't be in scope: - .github/workflows/deploy.yml: the stale tag appears only inside a comment narrating this exact past incident by its specific values; rewriting it would corrupt the history it's documenting. - charts/selenium-grid/multiple-nodes-platform-version.yaml and tests/charts/ci/multiple-nodes-platform-version-values.yaml: these pin per-Chrome-version image tags (146.0, 145.0, ...), each dated independently of the Grid release cadence. The date-only sed pass matched their "20260905" by coincidence, not because they're stale in the same way - a real fix for these needs its own pass. - tests/ci/test_cleanup_pr_images.py: synthetic example tags in a regex-matching unit test, unrelated to live defaults. Verified the restored tags are real published images (Docker Hub and the GitHub release) before committing. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Contributor
|
ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing |
4 tasks done
VietND96
added a commit
that referenced
this pull request
Oct 19, 2026
…3276) #3274 happened because this script's whole-tree sed only matches when LATEST_TAG is the exact string still embedded in the files; once a wrong LATEST_TAG - or anything else - makes it miss, every later release looks for a tag that's never actually there and the chart's default image tags drift forever with no signal anything is wrong. Two changes: - After the rewrite, assert charts/selenium-grid/values.yaml's imageTag and nodesImageTag actually equal NEXT_TAG, and exit 1 with a clear message if not. Verified this both fixes the real catch-up (exit 0, matching #3275) and catches the exact wrong-LATEST_TAG scenario that caused #3274 (exit 1, correct error) when run against a container with real GNU find/sed, matching what CI runs. - Exclude three files from the tag/date sed passes that a real end-to-end run showed getting corrupted instead of fixed: multiple-nodes-platform-version.yaml and its test copy pin per-Chrome-version tags dated independently of the Grid release, and their date collides with the Grid release's date often enough that the bare-date pass was rewriting dates that were never actually built for those browser versions. deploy.yml's only tag-shaped strings are inside one comment narrating this exact past incident by its specific values - every later release's LATEST_TAG eventually matches one of those literals, silently turning the incident report into a false account of itself. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
helm-chart-release.yml only triggers on changes to charts/selenium-grid/Chart.yaml, so the values.yaml fix in this PR would never actually get published as a chart release on its own. Patch bump: existing defaults corrected, no new features, no appVersion change (Grid version is unaffected). Also fix .github/ISSUE_TEMPLATE/bug_report.yml's version placeholder, corrupted by a different sed bug: update_tag_in_docs_and_files.sh's chart-version-bump step uses the chart version as an unescaped sed pattern, so "0.60.0" (dots as regex wildcards) matched a 6-digit substring inside "20260905" and replaced it with "0.61.0", producing "20.61.05". Root-caused; the regex-escaping fix for the script itself is in #3276. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
Summary
Fixes #3274.
Since the 4.49.0 release,
update_tag_in_docs_and_files.sh's whole-treesedhas matched nothing in 51 files (charts/selenium-grid/values.yaml, thedocker-compose-*.ymlfiles, thekubernetes/*.yamlmanifests,docs/docker-hub/*.md,README.md,NodeDocker/config.toml,NodeKubernetes/config.toml, ...):LATEST_TAGresolution (git tag --sort=-version:refname) picked4.48.0-20261010(lexically highest) instead of the real previous tag4.48.0-20260905, so the release'ssed "s/${LATEST_TAG}/${NEXT_TAG}/g"found no match and these files were never rewritten for the 4.49.0 release.git describe --tags --abbrev=0, per the comment now indeploy.yml), but it only manually caught upChart.yaml/CONFIGURATION.md, not these 51 files.CLAUDE.mddocuments: "anything version-shaped that is not the exact previous tag is invisible to it and will go stale silently."Confirmed on trunk before this fix:
charts/selenium-grid/values.yaml'simageTag/nodesImageTag/videoImageTagwere still4.48.0-20260905/ffmpeg-8.1-20260905whileChart.yaml'sappVersionwas already4.51.0-20261010- so a default chart install runs Grid 4.48.0 images under chart 0.62.0, as the issue describes.What this does
Ran
./update_tag_in_docs_and_files.sh 4.48.0-20260905 4.51.0-20261010locally (the real previous tag, not what resolution would currently find) and reviewed the resulting diff by hand. It touched 55 files; I reverted 4 that shouldn't be in scope:.github/workflows/deploy.yml: the stale tag there appears only inside a comment narrating this exact past incident by its specific values (the comment explaining whygit describereplaced the sort-based resolution). Rewriting it would corrupt the history it's documenting.charts/selenium-grid/multiple-nodes-platform-version.yamlandtests/charts/ci/multiple-nodes-platform-version-values.yaml: these pin per-Chrome-version image tags (146.0-20260905,145.0-20260905, ...), each dated independently of the Grid release cadence via the separate browser-version release process. The script's date-only sed pass matched their20260905by coincidence, not because they're stale in the same way as the Grid tag - a real fix for these needs its own, separate pass.tests/ci/test_cleanup_pr_images.py: synthetic example tag strings in a regex-matching unit test (test_rejects_release_and_floating_tags), unrelated to live defaults.The Makefile's own comment (an illustrative example of the exact-tag format, not a historical narration) picked up the date-only correction and is now self-consistent again, so I kept that one.
Test plan
4.48.0-20260905/ffmpeg-8.1-20260905occurrences remain outsideCHANGELOG.mdand the 4 deliberately-excluded files.selenium/hub:4.51.0-20261010,selenium/standalone-{firefox,chrome,chromium,edge}:4.51.0-20261010,selenium/video:ffmpeg-8.1-20261010all return200from the Docker Hub API, and the GitHub release4.51.0-20261010linked fromREADME.mdexists.make lint_format_scripts(regeneratescharts/selenium-grid/CONFIGURATION.mdviahelm-docs) - no further diff beyond the 51 files, confirmingvalues.yamlandCONFIGURATION.mdare already consistent.values.yaml, a K8s manifest, a docker-compose file).🤖 Generated with Claude Code