Skip to content

ci: return of the chef#1645

Open
gilescope wants to merge 8 commits into
mainfrom
giles-chef-comeback
Open

ci: return of the chef#1645
gilescope wants to merge 8 commits into
mainfrom
giles-chef-comeback

Conversation

@gilescope

@gilescope gilescope commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Overview

Re-enables cargo-chef dep caching and adds line-number backtraces to release binaries.

Chef cache: deps images are content-addressed by <rust>-<arch>-<flavor>-<recipe_hash>. Cache miss = cook locally (same cost as today); hit = pull. ALLOW_CACHE_PUSH defaults false so PRs can't poison the cache. Run gh workflow run seed-deps-cache.yml after merge to populate the registry.

Backtraces: line-tables-only for first-party crates, debug=0 for deps. Binary size ~331 MB (vs ~181 no-debug).

CI fixes:

  • Removed --strict/--ci from jobs whose graph reaches +cache-probe (LOCALLY breaks strict mode)
  • DEPS_CACHE_REPO: midnight-ntwrkmidnightntwrk (correct org post-migration)
  • Folded +test-pallet-fixtures into +test (was paying for a second cold --release compile)
  • Added BUILD +cook-build before FROM +cook-build so SAVE IMAGE --push fires (earthly skips pushes on pure-FROM targets)

🗹 TODO before merging

  • ALLOW_CACHE_PUSH back to false
  • Run gh workflow run seed-deps-cache.yml after merge

📌 Submission Checklist

  • All commits are signed off (git commit -s) for the DCO
  • Changes are backward-compatible
  • Pull request description explains why the change is needed
  • Self-reviewed the diff
  • Change file: changes/node/changed/line-table-backtraces-and-dependency-cache.md
  • If the changes introduce a new feature, I have bumped the node minor version
  • Update documentation (if relevant)
  • Updated AGENTS.md if build commands, architecture, or workflows changed
  • No new todos introduced

🧪 Testing Evidence

CI green. Cache-miss timings (no registry image yet — speedup comes after seeder runs):

Job Time
Build amd64 11m20s
Build arm64 36m9s
Run tests 9m55s

🔱 Fork Strategy

  • N/A — CI only, no runtime changes

Links

Issue: N/A

Signed-off-by: Giles Cope <gilescope@gmail.com>
Signed-off-by: Giles Cope <gilescope@gmail.com>
scottbuckel
scottbuckel previously approved these changes Jun 5, 2026
gilescope added 2 commits June 6, 2026 06:15
… temp enable cache push

- Remove the separate +test-pallet-fixtures target/job; run the 3 fixture
  tests inside +test (same release build, no second cold compile).
- DEPS_CACHE_REPO -> ghcr.io/midnightntwrk (migration target / pushable org).
- ALLOW_CACHE_PUSH=true temporarily to populate the cache (TODO before-merge).

Signed-off-by: Giles Cope <gilescope@gmail.com>
gilescope added 3 commits June 6, 2026 07:43
Signed-off-by: Giles Cope <gilescope@gmail.com>
Signed-off-by: Giles Cope <gilescope@gmail.com>
Signed-off-by: Giles Cope <gilescope@gmail.com>
@gilescope gilescope marked this pull request as ready for review June 8, 2026 08:30
@gilescope gilescope requested a review from a team as a code owner June 8, 2026 08:30

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 48787a5e51

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/seed-deps-cache.yml Outdated
@gilescope gilescope requested a review from scottbuckel June 8, 2026 11:17
Signed-off-by: Giles Cope <gilescope@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2c707c02e3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Earthfile
ARG NATIVEARCH
ARG RUST_VERSION=$(grep '^channel' /rust-toolchain.toml | sed 's/.*"\(.*\)".*/\1/')
ARG RECIPE_HASH=$(sha256sum /recipe.json | cut -c1-16)
ARG DEPS_TAG=${RUST_VERSION}-${NATIVEARCH}-build-${RECIPE_HASH}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Seed the check-flavor deps image

The seed workflow only invokes +seed-deps, which computes and pushes the ...-build-... tag here, but +check probes a separate ...-check-... tag in check-rust-prepare and the check workflows run earthly +check without --push or ALLOW_CACHE_PUSH=true. As a result, after Cargo/rust-toolchain changes the clippy/check dependency cache can never be populated by the new workflow, so every check CI run will keep cooking the full check-flavor dependency graph locally instead of reusing the intended registry cache.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants