fix(docker): move action base image from debian 10 to debian 12 (KTLO-212) - #3
Open
dparuship wants to merge 1 commit into
Open
fix(docker): move action base image from debian 10 to debian 12 (KTLO-212)#3dparuship wants to merge 1 commit into
dparuship wants to merge 1 commit into
Conversation
Debian 10 "buster" is end-of-life and its suites have been removed from deb.debian.org, so `apt-get update` now returns 404 for the buster, buster/updates and buster-updates Release files and the layer exits 100. The action image therefore fails to build, which fails every consuming workflow at the "Build uship/action-deploy-to-wpengine@main" step, before Checkout ever runs. Eight *-wordpress-theme repos reference this action at @main across their dev, sandbox and prod deploys, so all WP Engine deployments are currently blocked. Bumps the base to debian:12-slim (bookworm), which is in normal support. Bullseye was not chosen because its LTS window closes this month and it would reintroduce the same failure shortly. The bump moves openssh-client from 7.9 to 9.2, which is the one behavioural risk worth noting: OpenSSH 8.8+ disables SHA-1 ssh-rsa signatures by default, and entrypoint.sh does `ssh-keyscan -t rsa` against git.wpengine.com with RSA deploy keys. Verified that git.wpengine.com (OpenSSH 8.9) advertises rsa-sha2-256 and rsa-sha2-512 in both its host key algorithms and server-sig-algs, so the existing RSA keys continue to work via SHA-2 signatures. Confirmed against the built image: host key verification with StrictHostKeyChecking=yes succeeds and the connection reaches publickey auth. git (2.39.5), bash (5.2) and openssh-client are all still present from `apt-get install -y git`, so no package list change is needed.
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
Debian 10 "buster" is EOL and its suites have been removed from
deb.debian.org. TheRUN apt-get update && apt-get install -y gitlayer now 404s and exits 100, so this action's image no longer builds at all:Consuming workflows fail at the Build uship/action-deploy-to-wpengine@main step — before
Checkout— so nothing is deployed and nothing is partially deployed.This bumps the base image to
debian:12-slim(bookworm). One line, no other changes.Blast radius — please read before merging
Eight repos reference this action as
@main, across dev, sandbox and prod deploys (~20 workflows):uship-wordpress-theme-new,ushipabout-,ushipblogs-,ushipbusiness-,ushipconnect-,ushipguidessd-,ushiplearnsubd-,ushipportals-wordpress-theme.Because they float on
@main, this change takes effect everywhere the moment it merges. All of those deploys are broken today, so the change can only improve on the status quo — but it is not a scoped rollout, and the next push to any theme repo'smainwill exercise it against production WP Engine.Bullseye was considered and rejected: its LTS window closes this month, which would reintroduce the identical failure shortly.
The one real behavioural risk, and why it's cleared
Debian 12 moves openssh-client from 7.9 to 9.2. OpenSSH 8.8+ disables SHA-1
ssh-rsasignatures by default, andentrypoint.shdoesssh-keyscan -t rsa git.wpengine.comwith RSA deploy keys — so this was the plausible way the bump could break deploys at runtime rather than build time.Verified it does not:
git.wpengine.comruns OpenSSH 8.9 and advertisesrsa-sha2-512,rsa-sha2-256in its host key algorithms, andrsa-sha2-256,rsa-sha2-512inserver-sig-algs. The existing RSA keys authenticate via SHA-2 signatures.StrictHostKeyChecking=yessucceeds, and the connection reaches publickey auth (Permission denied (publickey)— expected, no key was mounted).Test plan
docker buildsucceeds ondebian:12-slimgit(2.39.5),bash(5.2) andopenssh-client(9.2) all still present fromapt-get install -y git— no package list change neededssh-keyscan -t rsa git.wpengine.comreturns the host key inside the imageStrictHostKeyChecking=yes; connection reaches publickey authdeploy-dev.ymlin one of the theme repos) before relying on it for a prod pushFound while diagnosing a red
Deploy to Prodrun inushipblogs-wordpress-theme(uShip/ushipblogs-wordpress-theme#25). That PR was unrelated to the failure — the action image has been unbuildable independently of it.