Skip to content

Fix prod app image build: sqlx-cli 0.9.0 needs rustc 1.94, stage pins rust 1.93 - #748

Open
IvanTheGeek wants to merge 1 commit into
debiki:mainfrom
IvanTheGeek:fix-prod-image-rust-sqlx
Open

Fix prod app image build: sqlx-cli 0.9.0 needs rustc 1.94, stage pins rust 1.93#748
IvanTheGeek wants to merge 1 commit into
debiki:mainfrom
IvanTheGeek:fix-prod-image-rust-sqlx

Conversation

@IvanTheGeek

Copy link
Copy Markdown

The prod app image build is currently broken: cargo install sqlx-cli in images/app/Dockerfile.prod is unpinned, and sqlx-cli 0.9.0 (published July 2026) requires rustc ≥ 1.94 — but the stage pins rust:1.93.0-trixie:

error: cannot install package `sqlx-cli 0.9.0`, it requires rustc 1.94.0 or newer,
while the currently active rustc version is 1.93.0

Fix:

  • bump the build stage to rust:1.94.0-trixie (same as Dockerfile.dev), and
  • pin sqlx-cli =0.8.6 — the version the published talkyard-app images actually ship (checked v1.2026.003-f220a7d9f and v1.2026.004-e80b4519d via sqlx --version) — so image contents stay deterministic instead of tracking whatever crates.io serves next.

Verified: the rust stage builds, and a full prod app image built with this pin is file-for-file layout-identical to the published v1.2026.003-f220a7d9f image, with the same sqlx-cli 0.8.6.

Note: Dockerfile.dev installs sqlx-cli unpinned too — its rust 1.94 happens to build 0.9.0 fine today, but you may want the same =0.8.6 pin there for dev/prod consistency (left out of this PR to keep the diff minimal).

Found during the same Docker-only-build work as #747.

🤖 Generated with Claude Code

The prod app image no longer builds: 'cargo install sqlx-cli' is unpinned,
and sqlx-cli 0.9.0 (published July 2026) requires rustc >= 1.94, while this
stage pins rust:1.93.0-trixie:

    error: cannot install package `sqlx-cli 0.9.0`, it requires rustc
    1.94.0 or newer, while the currently active rustc version is 1.93.0

Bump the build stage to rust:1.94.0-trixie (the same version
Dockerfile.dev already uses), and pin sqlx-cli to =0.8.6 — the version the
published talkyard-app images ship (checked v1.2026.003-f220a7d9f and
v1.2026.004-e80b4519d) — so the image contents stay deterministic instead
of tracking whatever crates.io serves next.

(Dockerfile.dev installs sqlx-cli unpinned too; its rust 1.94 still builds
0.9.0 today, but pinning it the same way might be worth doing for
dev/prod version consistency.)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

I, Ivan Rainbolt <talkyard@github-commits.ivanthegeek.com>, agree to the Contributor License Agreement, docs/CLA-v2.txt.
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