Skip to content

fix(lighthouse): ship the fixed minio-cache instead of inheriting the old one - #20

Merged
slayerjain merged 1 commit into
mainfrom
fix/lighthouse-inherits-fixed-minio-cache
Aug 22, 2026
Merged

fix(lighthouse): ship the fixed minio-cache instead of inheriting the old one#20
slayerjain merged 1 commit into
mainfrom
fix/lighthouse-inherits-fixed-minio-cache

Conversation

@slayerjain

Copy link
Copy Markdown
Member

Why

keploy-ci-lighthouse builds FROM ghcr.io/keploy/keploy-ci:node-1.2.17 and copies no helper of its own, so it inherits the pre-#19 minio-cache — the one that runs mc ilm rule add --expire-days 30 on every cache save. Duplicate rules pile up toward MinIO's 1000-rule-per-bucket cap, which is what silently broke artifact retention (/data hit 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

  • Copy the current helper into the image, the way keploy-ci-playwright already does (it pins a stale node-1.2.25 base too, but overwrites the helper at line 42 — which is why playwright is not affected).
  • Add a helper-parity CI job: every */minio-cache must be byte-identical to the canonical keploy-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.17 is Node 20, and every node tag from 1.2.24 onward is Node 24. Bumping would drag an unrelated two-LTS-major jump into landing's Lighthouse build (npm install && npm run build on the PR and main branches) for no benefit here. Keeping the base and shipping the helper fixes the actual defect and nothing else.

Verification

  • diff confirms the three copies (node / playwright / lighthouse) are now byte-identical, and the new guard exits 0 against the current tree.
  • Workflow YAML parses; job graph is helper-parity, base-images, derived-images.
  • Landing's lighthouse.yml uses raw mc and never invokes minio-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.31 release afterwards to publish a clean lighthouse- image; lighthouse-1.2 / lighthouse-1 currently resolve to the poisoned 1.2.30.

… 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>
@slayerjain
slayerjain merged commit c64a46e into main Aug 22, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant