Skip to content

Align Fly deployment with current Rust - #51

Merged
yoavf merged 1 commit into
mainfrom
codex/align-rust-fly-deployment
Aug 24, 2026
Merged

Align Fly deployment with current Rust#51
yoavf merged 1 commit into
mainfrom
codex/align-rust-fly-deployment

Conversation

@yoavf

@yoavf yoavf commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • update the Fly Docker builder from Rust 1.83 to Rust 1.98, matching GitHub CI and fixing the failed server build
  • register Fly deploys as the server GitHub environment with a link to the production endpoint

Verification

  • confirmed the official rust:1.98-slim image tag is active
  • cargo check --workspace --locked
  • git diff --check

Context

The previous Fly deployment failed because slice::as_chunks compiles under CI's Rust 1.98 but is unavailable in the Dockerfile's pinned Rust 1.83 builder.

Greptile Summary

The PR aligns the Fly deployment builder with the Rust toolchain used by CI and registers deployments against the production GitHub environment.

  • Updates the Docker builder image from Rust 1.83 to 1.98.
  • Associates Fly deployments with the server environment and production endpoint.

Confidence Score: 5/5

The PR appears safe to merge with no actionable changed-code failures identified.

The builder update is compatible with the workspace and existing deployment target, while the new environment metadata does not itself prevent access to repository secrets or establish a deployment-blocking protection rule.

Important Files Changed

Filename Overview
Dockerfile Updates the Rust builder version while preserving the existing build and Debian runtime stages; no actionable regression was identified.
.github/workflows/fly-deploy.yml Adds GitHub environment metadata and the production URL without changing the workflow trigger or deployment command.

Reviews (1): Last reviewed commit: "Align Fly deployment with current Rust" | Re-trigger Greptile

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying jst with  Cloudflare Pages  Cloudflare Pages

Latest commit: 9609509
Status: ✅  Deploy successful!
Preview URL: https://17a085ff.jst-5mg.pages.dev
Branch Preview URL: https://codex-align-rust-fly-deploym.jst-5mg.pages.dev

View logs

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Align Fly deploy workflow and Docker builder to Rust 1.98

🐞 Bug fix ⚙️ Configuration changes 🕐 Less than 10 minutes

Grey Divider

AI Description

• Bump Fly Docker build image to Rust 1.98 to match CI and restore successful builds.
• Register Fly deploys to the server GitHub environment with a production URL link.
Diagram

graph TD
  A["GitHub Actions"] --> B["fly-deploy.yml"] --> C["Fly Deploy Job"] --> D["server env"]
  C --> E["Dockerfile"] --> F["rust:1.98-slim builder"] --> G["Server image"] --> H["jst-server.fly.dev"]

  subgraph Legend
    direction LR
    _ci["CI/Workflow"] ~~~ _cfg["Config file"] ~~~ _img["Container image"]
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Derive Docker Rust version from rust-toolchain.toml
  • ➕ Avoids drift between CI/toolchain and Docker builds
  • ➕ Makes Rust upgrades a single-source-of-truth change
  • ➖ Requires extra Docker logic (installing rustup/toolchain) or templating in CI
  • ➖ Slightly slower builds if toolchain must be installed each time
2. Build/push image in CI and deploy the immutable image to Fly
  • ➕ Deployment uses a pre-built, verifiable artifact
  • ➕ Enables stronger caching and provenance/attestations
  • ➖ More workflow complexity (registry auth, tags, cleanup)
  • ➖ Requires changing Fly deploy strategy to consume the pushed image

Recommendation: The PR’s approach (bumping the builder image to match CI) is the fastest, least invasive fix for the immediate build failure. If toolchain drift has happened more than once, consider centralizing the Rust version (e.g., rust-toolchain-based installation in Docker or CI-driven templating) to prevent recurrence.

Files changed (2) +4 / -1

Bug fix (1) +1 / -1
DockerfileUpgrade build-stage Rust image from 1.83 to 1.98 +1/-1

Upgrade build-stage Rust image from 1.83 to 1.98

• Updates the builder stage base image to 'rust:1.98-slim' to match CI’s Rust version. This resolves build failures caused by newer standard-library APIs used in the codebase.

Dockerfile

Other (1) +3 / -0
fly-deploy.ymlAnnotate Fly deploys with the 'server' GitHub Environment +3/-0

Annotate Fly deploys with the 'server' GitHub Environment

• Adds a GitHub Environment ('server') to the deploy job and provides the production URL. This improves deployment visibility and gives reviewers a direct link to the running endpoint.

.github/workflows/fly-deploy.yml

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can switch off images and animations for a plain-text comment

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@github-actions

Copy link
Copy Markdown

The macOS CLI preview for this PR is ready. With GitHub CLI authenticated, copy this one command to download and run it:

preview_dir="$(mktemp -d)" && gh run download 32784395174 --repo yoavf/jst --name jst-pr-preview-macos-universal --dir "$preview_dir" && chmod +x "$preview_dir/jst" && "$preview_dir/jst" --dry list files in the current directory

Replace the example arguments after jst to test another command. The artifact is retained for 7 days.

View the preview build

@yoavf
yoavf merged commit 95a3111 into main Aug 24, 2026
6 checks passed
@yoavf
yoavf deleted the codex/align-rust-fly-deployment branch August 24, 2026 22:31
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