[build] Keep Chrome dev/beta images on linux/amd64 only, resolve the latest rclone tag - #3188
[build] Keep Chrome dev/beta images on linux/amd64 only, resolve the latest rclone tag#3188VietND96 wants to merge 3 commits into
Conversation
Chrome dev (153) and beta (152) are ahead of the Chromium driver packages, which follow the stable channel and currently top out at 151, so no matching driver major exists for those channels on arm64 and the build fails at install-chromedriver.sh. Stable Chrome images stay multi-arch, Firefox dev/beta are unaffected. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
PR Summary by QodoRestrict Chrome dev/beta Docker images to linux/amd64 in CI
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTo customize comments, go to the Qodo configuration screen, or learn more in the docs. |
RCLONE_VER pointed at v1.75-stable, a maintenance branch rclone has not cut yet, so `git clone -b` failed and the video image could not build. Default RCLONE_VER to "latest" and resolve it from the repository tags, following the same pattern as GO_VERSION. Only vX.Y.Z tags are considered so release candidates and one-off tags are ignored, and an explicit RCLONE_VER is still used as is. Verified in a container: the latest tag resolves to v1.75.0, the shallow clone succeeds and `make` builds rclone v1.75.0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
GitHub releases are sorted by publish date, so the API gives the most recently tagged release, e.g. a v1.74.5 point release published after v1.75.0 wins over a plain version sort. `git ls-remote --sort=-creatordate` can not do this, sorting remote refs by date needs object data that is not available without a repository, so the version sorted tag list stays as a fallback when the API returns nothing, for instance when it is rate limited. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Thanks for contributing to the Docker-Selenium project!
A PR well described will help maintainers to quickly review and merge it
Description
Two build fixes after #3187.
Chrome dev/beta images back to
linux/amd64only.github/workflows/update-dev-beta-browser-images.yml: Chrome dev/beta build forlinux/amd64again, with a comment explaining why. Firefox dev/beta stay multi-arch and the stable Chrome images stay multi-arch.README.md: note that the Chrome dev/beta images are AMD64 only.Video image resolves the rclone version itself
.ffmpeg/Dockerfile:RCLONE_VERdefaults tolatestand is resolved from the rclone GitHub releases, which are sorted by publish date, so the most recently tagged release is used.git ls-remote --sort=-creatordatecan not do this, sorting remote refs by date needs object data that is not available without a repository, so a version sorted tag list is kept as a fallback for when the API returns nothing, for instance when it is rate limited. An explicitRCLONE_VERis still used as is.Motivation and Context
Chrome dev/beta
Google publishes no ChromeDriver for Linux/ARM64, so the ARM64 Chrome images use the Debian
chromium-driverpackage of the same major version instead. Those packages follow the stable channel and currently top out at 151, while Chrome beta is 152 and dev is 153, so no matching driver major exists for those channels and the build fails:This is structural rather than a temporary lag: a Chromium driver for a given major only lands once that major reaches stable, which is exactly when the version stops being dev/beta.
rclone
RCLONE_VERpointed atv1.75-stable, a maintenance branch rclone has not cut yet, so the clone failed and the video image could not build:Resolving the version at build time also keeps the video image on the current rclone release without a manual bump. Verified in a container: the latest release resolves to
v1.75.0, the shallow clone succeeds andmakebuildsrclone v1.75.0.Types of changes
Checklist