fix: let the manual release bundle and build the gateway image again - #183
Conversation
Every job in the manual release has failed since July, so no app release has shipped since v0.1.3. The bundle jobs rewrite the workspace version into Cargo.toml and then run dx bundle with --locked, which refuses the now-stale Cargo.lock. bundle.yml already refreshes the lock after its own version bump; do the same here with cargo update --workspace, which re-records the workspace members and leaves every dependency at the version Cargo.lock pins. The gateway image build pins rust:1.89, and iroh 1.0.2 (merged in July) needs rustc 1.91. Move the builder to rust:1.98, the current stable. Claude-Session: https://claude.ai/code/session_01T2Bmcs7qWPaw1R6HnmrmBq
kevwilliams
left a comment
There was a problem hiding this comment.
The workflow and Dockerfile changes look correct: the cargo update --workspace step matches how bundle.yml already refreshes the lock after a version bump, and the rust:1.98 bump covers iroh 1.0.2's rustc 1.91 requirement. Root cause is clearly explained and addressed rather than papered over, no permissions or secrets concerns.
One thing to fix before merge: lockerr.txt was committed by mistake, it contains a stray local error message (command not found: cargo) and has nothing to do with the fix. Please remove it.
kevwilliams
left a comment
There was a problem hiding this comment.
The stray lockerr.txt debug file has been removed. The remaining fix (workflow cargo update, Dockerfile Rust toolchain bump for iroh's rustc requirement) is correct and matches the earlier review. Good to go.
Summary
No desktop app release has shipped since v0.1.3 because every job in the manual release workflow fails, and today's v0.1.4 attempt failed the same way on all three platforms plus the gateway image. The bundle jobs rewrite the version into the manifests and then bundle with a locked lockfile that no longer matches, and the gateway image build pins a Rust two minors older than the iroh 1.0.2 upgrade from July requires. This refreshes the lockfile after the version rewrite, the way the CI bundle workflow already does, and moves the image builder to current stable Rust. After merge, re-running the release for v0.1.4 should produce the three bundles and the image.
Test plan
Related to https://github.com/datum-cloud/app/actions/runs/34496183136
https://claude.ai/code/session_01T2Bmcs7qWPaw1R6HnmrmBq