Skip to content

Update factoriotools/factorio Docker tag to v2.1.17 - #394

Merged
wormeyman merged 2 commits into
mainfrom
renovate/factoriotools-factorio-2.x
Sep 7, 2026
Merged

Update factoriotools/factorio Docker tag to v2.1.17#394
wormeyman merged 2 commits into
mainfrom
renovate/factoriotools-factorio-2.x

Conversation

@renovate

@renovate renovate Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
factoriotools/factorio final patch 2.1.162.1.17

A 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 -q assertion in the same commit - dockerfile.test.mjs fails if the two disagree; (2) build the image, which no CI job does (#183) - pnpm --filter @fmw/preview-container run test:integration builds it and renders both a Nauvis and a non-Nauvis preview; (3) run pnpm refs:sync --check and pnpm refs:sync --fixtures to see which oracle fixtures now predate the game.

Note the local Factorio binary is what refs:sync pins 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)

  • Branch creation
    • "on monday"
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/factoriotools-factorio-2.x branch from 760ce11 to a7e1e72 Compare September 7, 2026 15:10
# 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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@renovate

renovate Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate 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.

⚠️ Warning: custom changes will be lost.

@wormeyman
wormeyman merged commit 42b56ae into main Sep 7, 2026
9 checks passed
@wormeyman
wormeyman deleted the renovate/factoriotools-factorio-2.x branch September 7, 2026 15:26
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