Skip to content

fix: repair the Fly console image build - #1241

Merged
michaelneale merged 1 commit into
mainfrom
fix/fly-dockerfile-build
Aug 11, 2026
Merged

fix: repair the Fly console image build#1241
michaelneale merged 1 commit into
mainfrom
fix/fly-dockerfile-build

Conversation

@michaelneale

@michaelneale michaelneale commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

The Deploy Fly Console workflow currently fails for every ref, because the Fly console image cannot be built at all. This restores it, so deploying public.meshllm.cloud works from the Actions tab again.

Both causes are build-context gaps in fly/Dockerfile:

  1. Missing scripts/lib/. scripts/build-llama.sh sources scripts/lib/cuda-toolkit.sh, but the image only copied prepare-llama.sh and build-llama.sh. The llama.cpp step aborted after applying the whole patch queue:

    scripts/build-llama.sh: line 7: /src/scripts/lib/cuda-toolkit.sh: No such file or directory
    
  2. Stale crate copy list. fly/Dockerfile enumerates every workspace crate by hand, and had fallen behind by three: skippy-tokenizer, mesh-native-serving-plugin-api, mesh-native-serving-plugin-host. cargo build --locked then failed to load the workspace manifest:

    failed to load manifest for dependency `skippy-tokenizer`
    failed to read `/src/crates/skippy-tokenizer/Cargo.toml`
    

Validation

Both fixes were applied and used to deploy the real app before this PR was opened — mesh-llm-console is now on v0.75.1 (up from 0.72.1), release v94:

$ curl -s https://public.meshllm.cloud/api/status
version 0.75.1  node b5e0004325  peers 8

Verified after deploy: /v1/models, non-streaming inference, SSE streaming, model=mesh MoA routing, and the console UI.

Note

The hand-maintained crate list in fly/Dockerfile will keep going stale — nothing verifies it, and docker.yml only runs buildx build --check (a linter, not a build) on manual dispatch. docker/Dockerfile.client has the same two problems today and is missing 14 crates. Replacing the enumeration with COPY crates/ would fix this class of bug permanently, since .dockerignore already excludes target/, node_modules/, and dist/. Left out of here to keep this a minimal repair.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The Fly deployment job now limits execution to 60 minutes and disables persisted checkout credentials. The Fly builder image now includes additional tokenizer, serving plugin, host, and script library sources.

Changes

Fly deployment

Layer / File(s) Summary
Deployment workflow controls
.github/workflows/fly-deploy-console.yml
The deploy job has a 60-minute timeout. Checkout does not persist credentials.
Builder image inputs
fly/Dockerfile
The builder copies tokenizer, serving plugin, host crate, and script library sources into the build context.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

  • Mesh-LLM/mesh-llm#928: Modifies the Fly console deployment workflow and Dockerfile, including build-context changes.

Suggested reviewers: ndizazzo

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: repairing the Fly console image build.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/fly-dockerfile-build

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

The Fly console image could not be built, so the Deploy Fly Console
workflow failed for any ref. Two build-context gaps in fly/Dockerfile:

- scripts/build-llama.sh sources scripts/lib/cuda-toolkit.sh, but only
  prepare-llama.sh and build-llama.sh were copied into the image, so the
  llama.cpp build step aborted with 'No such file or directory'.
- The hand-maintained crate copy list had gone stale and was missing
  skippy-tokenizer, mesh-native-serving-plugin-api, and
  mesh-native-serving-plugin-host, so 'cargo build --locked' could not
  load the workspace manifest.
@michaelneale
michaelneale force-pushed the fix/fly-dockerfile-build branch from 0f59bd0 to 4e768e3 Compare August 11, 2026 08:31
@michaelneale
michaelneale merged commit 7e6ba4b into main Aug 11, 2026
37 checks passed
@michaelneale
michaelneale deleted the fix/fly-dockerfile-build branch August 11, 2026 08:32
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