Skip to content

Build all GC Roots into Cachix#2866

Open
Dreamsorcerer wants to merge 2 commits into
mainfrom
sam/fix-ci
Open

Build all GC Roots into Cachix#2866
Dreamsorcerer wants to merge 2 commits into
mainfrom
sam/fix-ci

Conversation

@Dreamsorcerer

Copy link
Copy Markdown
Collaborator

No description provided.

@greptile-apps

greptile-apps Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR updates the native-module CI path for Cachix-backed self-hosted runs. The main changes are:

  • Builds native module outputs before self-hosted tests.
  • Adds persistent Nix GC-root pinning for realized native outputs.
  • Switches the self-hosted Nix setup to substitute-only mode.
  • Limits the self-hosted Linux test container memory.
  • Reduces native build worker parallelism.

Confidence Score: 5/5

This looks safe to merge from this follow-up pass.

  • No new blocking issue was found in the latest changed code.
  • The workflow changes are scoped to native build caching, substitution, and runner resource limits.

Important Files Changed

Filename Overview
bin/build-cmu-nav-natives Adds persistent GC-root pinning for native module outputs after build or warm-cache detection.
.github/workflows/ci.yml Updates native build parallelism, self-hosted container memory limits, and substitute-only Nix configuration.

Reviews (2): Last reviewed commit: "Update ci.yml" | Re-trigger Greptile

Comment thread bin/build-cmu-nav-natives
Comment thread .github/workflows/ci.yml
@codecov

codecov Bot commented Jul 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

❗ There is a different number of reports uploaded between BASE (66ce423) and HEAD (9dcc58a). Click for more details.

HEAD has 14 uploads less than BASE
Flag BASE (66ce423) HEAD (9dcc58a)
Py-3.14 2 0
OS-ubuntu-24.04-arm 1 0
Py-3.13 1 0
OS-ubuntu-latest 6 0
Py-3.11 1 0
Py-3.10 1 0
Py-3.14t 1 0
Py-3.12 1 0
@@             Coverage Diff             @@
##             main    #2866       +/-   ##
===========================================
- Coverage   72.21%   38.71%   -33.51%     
===========================================
  Files        1001      870      -131     
  Lines       89755    82665     -7090     
  Branches     8196     7552      -644     
===========================================
- Hits        64818    32005    -32813     
- Misses      22718    49503    +26785     
+ Partials     2219     1157     -1062     
Flag Coverage Δ
OS-ubuntu-24.04-arm ?
OS-ubuntu-latest ?
Py-3.10 ?
Py-3.11 ?
Py-3.12 ?
Py-3.13 ?
Py-3.14 ?
Py-3.14t ?
SelfHosted-Linux 37.40% <ø> (ø)
SelfHosted-macOS 35.81% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 646 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread bin/build-cmu-nav-natives
GCROOTS_DIR = Path("/nix/var/nix/gcroots/dimos-natives")


def _pin(root_name: str, out_link: Path) -> str:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Assume this logic will be pulled out into generic format but will approve for now since i assume we need to merge to test if this change works

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

No, testing in the PR works fine.

spomichter
spomichter previously approved these changes Jul 10, 2026
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.

2 participants