fix(lighthouse): ship the fixed minio-cache instead of inheriting the old one - #20
Merged
Merged
Conversation
… old one keploy-ci-lighthouse builds FROM keploy-ci:node-1.2.17, which predates the fix in #19 and bakes a minio-cache that ran 'mc ilm rule add' on every cache save. Duplicate lifecycle rules accumulate toward MinIO's 1000-rule cap, which silently breaks artifact retention. Copy the current helper into the image the way keploy-ci-playwright already does, rather than bumping the base tag: every node tag from 1.2.24 onward is Node 24, so a base bump would drag an unrelated Node 20 -> 24 jump into the landing Lighthouse build. Add a helper-parity job so the per-context copies can never drift again - divergence between them is exactly how this regression shipped. Signed-off-by: Shubham Jain <shubhamkjain@outlook.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.
Why
keploy-ci-lighthousebuildsFROM ghcr.io/keploy/keploy-ci:node-1.2.17and copies no helper of its own, so it inherits the pre-#19minio-cache— the one that runsmc ilm rule add --expire-days 30on every cache save. Duplicate rules pile up toward MinIO's 1000-rule-per-bucket cap, which is what silently broke artifact retention (/datahit 94% again on 2026-08-21; ~310 GB had to be swept by hand).lighthouse-1.2.30, published minutes ago, is still poisoned: it was built in the same run that shipped the fix, but from the stale base.What
keploy-ci-playwrightalready does (it pins a stalenode-1.2.25base too, but overwrites the helper at line 42 — which is why playwright is not affected).helper-parityCI job: every*/minio-cachemust be byte-identical to the canonicalkeploy-ci-node/minio-cache. Drift between the per-context copies is precisely how this regression shipped — fix(ci): stop creating MinIO ILM rules from the baked cache helper #19 had to patch both by hand, and lighthouse was missed.Why not just bump the base tag
That was the first attempt, and it is a trap:
node-1.2.17is Node 20, and every node tag from1.2.24onward is Node 24. Bumping would drag an unrelated two-LTS-major jump into landing's Lighthouse build (npm install && npm run buildon the PR and main branches) for no benefit here. Keeping the base and shipping the helper fixes the actual defect and nothing else.Verification
diffconfirms the three copies (node / playwright / lighthouse) are now byte-identical, and the new guard exits 0 against the current tree.helper-parity,base-images,derived-images.lighthouse.ymluses rawmcand never invokesminio-cache, so the inherited helper was a latent landmine rather than an active spammer — no urgency, but it must not ship.Needs a
v1.2.31release afterwards to publish a cleanlighthouse-image;lighthouse-1.2/lighthouse-1currently resolve to the poisoned1.2.30.