You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Align Fly deploy workflow and Docker builder to Rust 1.98
🐞 Bug fix⚙️ Configuration changes🕐 Less than 10 minutes
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.
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.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
serverGitHub environment with a link to the production endpointVerification
rust:1.98-slimimage tag is activecargo check --workspace --lockedgit diff --checkContext
The previous Fly deployment failed because
slice::as_chunkscompiles 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.
serverenvironment 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
Reviews (1): Last reviewed commit: "Align Fly deployment with current Rust" | Re-trigger Greptile