Skip to content

ci: drop loom and send-depth from the land gate; run send-depth in Nightly - #7473

Merged
kixelated merged 1 commit into
mainfrom
ci/drop-loom-gate
Nov 1, 2026
Merged

kixelated merged 1 commit into
mainfrom
ci/drop-loom-gate

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Problem

The land gate's Rust lint ran two extra compiles whenever kio or moq-net was selected: just rs loom-check (the loom models in the dev profile) and just rs send-depth (moq-net's Send proofs on the flake's pinned nightly). Nightly also spent an ARM job on just rs loom, which had been timing out or hitting loom's branch limit.

Decided 2026-10-31 (maintainer):

Approach

CI only. No crate source changes.

  • sh/rs/select.sh: the check/check-test/lint path no longer runs rs loom-check or rs send-depth, and sh/rs/send-depth.sh no longer counts as a whole-workspace input.
  • .github/workflows/nightly.yml: rs send-depth replaces rs loom in the Tests matrix. That job already runs nix develop --command just <recipe> with CI_STRICT=1, and sh/rs/send-depth.sh builds the flake's .#rust-nightly itself, which is ci: gate send-depth on a pinned nightly #7280's pinned toolchain. The gate entry stops running send-depth once the selector drops it, so the new entry is the only place it runs.
  • sh/rs/select.test.py: the loom-check and send-depth selection tests become one test: a kio, moq-net, or Cargo.lock change makes the gate's lint a single rs lint call, and a send-depth.sh change selects nothing.
  • Comments: rs/justfile (lint-changed, the loom block, send-depth), sh/dispatch.sh, flake.nix's rust-nightly, and nightly.yml's matrix notes.
  • Quests: the CI epic records the decision and drops the loom and Send-depth compiles from its description of the gate. five-minutes.md notes the dropped compiles. audit-ci.md drops the unowned Nightly loom failure. crossbeam-pin-fence.md stops pointing at the Nightly loom job.

The loom and loom-check recipes and the models stay. A follow-up PR deletes them.

Impact

  • A kio or moq-net diff's gate lint loses the dev loom compile (46 s after a moq-net edit, per quest/m0/ci/five-minutes.md) and the pinned-nightly cargo check of moq-net's send test.
  • A moq-net change that breaks native Send at the default recursion limit now lands and shows up as a red Tests (rs send-depth) job the next night, instead of being blocked at the queue.
  • Nightly runs the same number of Tests jobs. One loom job that often timed out at 60 minutes becomes one short cargo check.

Alternatives

  • Keep send-depth in the gate and run it only when moq-net changes, as it is today. Rejected by the maintainer decision above.
  • Leave rs loom in Nightly until the models are deleted. That keeps a job running that is about to go away and that was often cancelled at its timeout.

Follow-ups

  • Delete the loom models, cfg(loom) paths, the loom dependency, and the loom/loom-check recipes (chore/remove-loom, a separate PR that lands after the queue drains).

Checks

Run inside nix develop on the head commit:

  • python3 sh/dispatch-query.test.py: pass
  • python3 sh/rs/select.test.py: pass
  • actionlint: pass
  • quest check: pass
  • just check: pass. Dispatch ran every module, since sh/dispatch.sh changed; check flake skipped locally because the Nix builder cannot create user namespaces here.

Review

quest review --base origin/main: Codex gpt-6.1-sol (medium), head 590c6ccc1a, round 1: 0 findings.

🤖 Generated with Claude Code

(Written by Claude Opus 5.5)

…ghtly

Decided 2026-10-31 (maintainer): remove loom entirely, and move the
Send-depth check to Nightly. The gate's Rust lint no longer runs
`rs loom-check` or `rs send-depth`; Nightly's Tests matrix swaps
`rs loom` for `rs send-depth`, which builds the flake's pinned nightly
itself. The loom recipes and models stay for a separate removal PR.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 7 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ce78581a-6700-49e4-9009-0df3035b5d51
Commits

Reviewing files that changed from the base of the PR and between 1f4e706 and 590c6cc.

Files selected for processing: 10
  • .github/workflows/nightly.yml
  • flake.nix
  • quest/m0/ci/README.md
  • quest/m0/ci/five-minutes.md
  • quest/m2/audit-ci.md
  • quest/m2/crossbeam-pin-fence.md
  • rs/justfile
  • sh/dispatch.sh
  • sh/rs/select.sh
  • sh/rs/select.test.py
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@kixelated kixelated left a comment

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.

Automated review by review (OpenAI)

Reviewed commit: 590c6cc

No actionable bugs found. Moving Send-depth into its own Nightly job reuses the existing pinned-toolchain check without duplicating gate machinery; CI_STRICT remains enabled. The deliberate loss of pre-merge Send-depth and automatic loom coverage is documented, with loom recipes retained for manual use pending removal.

Static review of the workflow, selector, recipes, tests, and related plans, including an independent pass. Tests and workflows were not run; timing savings and hosted toolchain availability remain unverified.

(Written by OpenAI)

@pullfrog pullfrog 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.

✅ No new issues found.

Reviewed changes — reviewed the CI-only change that drops rs loom-check and rs send-depth from the land gate and moves rs send-depth into the Nightly Tests matrix; no crate source touched.

  • Land gate selector — sh/rs/select.sh no longer runs loom-check for kio/moq-net or send-depth for moq-net, and drops sh/rs/send-depth.sh from the whole-workspace input regex.
  • Nightly matrix — .github/workflows/nightly.yml swaps rs loom for rs send-depth in the Tests matrix; the job runs nix develop --command just rs send-depth with CI_STRICT=1, and send-depth.sh builds the flake's pinned .#rust-nightly itself.
  • Selector tests — the two prior tests collapse into test_gate_leaves_send_depth_to_nightly, asserting a kio/moq-net/Cargo.lock gate lint is a single rs lint call and a send-depth.sh diff selects nothing.
  • Comments and quest docs — rs/justfile, sh/dispatch.sh, flake.nix, and the CI quest files record the decision.

I verified the selection reasoning against sh/dispatch.sh (sh/rs/ is still in the [rs] scope, so a send-depth.sh-only diff runs the rs lane, selects nothing, and exits 0), just gate (just ci --all), and rs/justfile. The three selector tests pass locally; the remaining failures in select.test.py are the container's blocked sudo, pre-existing and unrelated to this diff.

Pullfrog  | View workflow run | Using deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏

@kixelated kixelated mentioned this pull request Nov 1, 2026
@kixelated
kixelated merged commit 9e3b52a into main Nov 1, 2026
4 checks passed
@kixelated
kixelated deleted the ci/drop-loom-gate branch November 1, 2026 03:10
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