Update factoriotools/factorio Docker tag to v2.1.17 - #394
Conversation
760ce11 to
a7e1e72
Compare
| # docker pull --platform linux/amd64 factoriotools/factorio:2.1.16 | ||
| # docker inspect --format='{{index .RepoDigests 0}}' factoriotools/factorio:2.1.16 | ||
| FROM factoriotools/factorio:2.1.16@sha256:f96d574869b633a849cc68d500ad066bd0eb55228e5b4f00047baf7cf5bc8ed9 | ||
| FROM factoriotools/factorio:2.1.17@sha256:e9227748c507a52f97bbd42c88e5c73702297bbdf4322c2f3ca8a71676ec1222 |
There was a problem hiding this comment.
Bug: the in-build version assertion further down this file wasn't bumped with this tag.
This line now pins 2.1.17, but line 27 still asserts Version: 2.1.16:
RUN /opt/factorio/bin/x64/factorio --version | grep -q "Version: 2.1.16"
That makes dockerfile.test.mjs's "the FROM tag and the in-build version assertion name the same version" test fail deterministically ("the FROM tag (2.1.17) and the version assertion (2.1.16) disagree"), which runs inside preview:test — part of the required verify check. If the image were ever actually built, this RUN would also fail directly, since the 2.1.17 base image reports Version: 2.1.17.
Per CLAUDE.md, the tag and this assertion must move together, and the PR's own description states this must be updated "in the same commit" for a tag change. Line 27 needs Version: 2.1.17.
| # docker pull --platform linux/amd64 factoriotools/factorio:2.1.16 | ||
| # docker inspect --format='{{index .RepoDigests 0}}' factoriotools/factorio:2.1.16 | ||
| FROM factoriotools/factorio:2.1.16@sha256:f96d574869b633a849cc68d500ad066bd0eb55228e5b4f00047baf7cf5bc8ed9 | ||
| FROM factoriotools/factorio:2.1.17@sha256:e9227748c507a52f97bbd42c88e5c73702297bbdf4322c2f3ca8a71676ec1222 |
There was a problem hiding this comment.
Bug: the worker's FACTORIO_VERSION wasn't bumped along with this tag.
preview-service/worker/wrangler.jsonc#L7 still declares "FACTORIO_VERSION": "2.1.16" and is untouched by this PR. That makes dockerfile.test.mjs's "the worker's FACTORIO_VERSION matches the image the container actually runs" test fail deterministically, also blocking preview:test — part of the required verify check.
Beyond the test failure, that test's own comment explains this variable feeds the R2 cache key, so a real mismatch would silently mix renders from two different Factorio versions under one cache key — the same regression recorded as having actually happened on the 2.1.14 bump. See the pinning convention in CLAUDE.md.
Fixing this needs FACTORIO_VERSION bumped to 2.1.17 in wrangler.jsonc and pnpm run types:sync run afterward to regenerate worker-configuration.d.ts (which wrangler types --check also gates on inside preview:test).
Renovate bumps only the FROM tag. test/dockerfile.test.mjs requires the in-build assertion and the worker's FACTORIO_VERSION to name that same version, and FACTORIO_VERSION feeds the R2 cache key, so all three have to move together. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
This PR contains the following updates:
2.1.16→2.1.17A digest re-pin of the SAME tag is routine. A tag change is not - it changes the game that renders every server-side preview, and the app advertises a Factorio version of its own (
FACTORIO_TARGET_VERSION) that would then disagree with the container.Before merging a tag change: (1) update the
RUN factorio --version | grep -qassertion in the same commit -dockerfile.test.mjsfails if the two disagree; (2) build the image, which no CI job does (#183) -pnpm --filter @fmw/preview-container run test:integrationbuilds it and renders both a Nauvis and a non-Nauvis preview; (3) runpnpm refs:sync --checkandpnpm refs:sync --fixturesto see which oracle fixtures now predate the game.Note the local Factorio binary is what
refs:syncpins to, and Steam moves it without asking - so the container and the dev machine can drift apart in either direction. Check which one actually moved before assuming the container is stale.Configuration
📅 Schedule: (in timezone America/Los_Angeles)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.