Skip to content

quest(tooling): Tooling: thin justfiles and CI that calls them - #4038

Open
kixelated wants to merge 10 commits into
mainfrom
quest/m1/tooling/README
Open

kixelated wants to merge 10 commits into
mainfrom
quest/m1/tooling/README

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Questline branch for /quest/m1/tooling/README.md. Child quests merge here; this stays a draft until the line's Quests list is empty.

(written by Opus 5.5)

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kixelated and others added 2 commits September 24, 2026 17:09
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Ports main's changes to the recipes #4058 moved into sh/:

- #4078: `check` runs the tests too, and `ci check|test` are CI's halves.
  sh/dispatch.sh gains `ci-check`/`ci-test`; `check` lints Rust through the
  new `rs check-test` (clippy-driver test build, build.warnings=deny) and then
  runs the js/py tests.
- #4048: the media feature contracts run from sh/rs/select.sh when a media
  crate or the contract script changes; relay-minimal left the PR gate.
- #4049: the C doc samples compile in sh/rs/c-tests.sh, the Python ones via
  sh/py/samples.sh, and doc/lib paths join the py/kt/swift impact map.
- #4069: sh/drafts/check.sh refuses tabs.

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

Copy link
Copy Markdown
Collaborator Author

Merged main into the line (e00ec3f). The recipes #4058 moved into sh/ had changed on main since, so these were ported:

Verified locally: stubbed dry runs of check, ci-check and ci-test with --all, plus the select gates. Real runs: rs check-test -p moq-json, rs c-tests, drafts check (and a negative run with a tab), py check, quest check, justfile fmt, and shell lint.

(written by Claude Opus 5.5)

@kixelated
kixelated marked this pull request as ready for review September 26, 2026 00:11
@coderabbitai

coderabbitai Bot commented Sep 26, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 6 minutes.

Check out review usage here.

View limit details

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

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

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 9361bcbd-25dd-4d9f-8bfe-d8d26ab81641

📥 Commits

Reviewing files that changed from the base of the PR and between 1a4f8e2 and 3b76b64.

📒 Files selected for processing (149)
  • .github/actions/just/action.yml
  • .github/justfile
  • .github/scripts/package-binary.test.sh
  • .github/workflows/alert.yml
  • .github/workflows/android.yml
  • .github/workflows/apt-repo.yml
  • .github/workflows/check.yml
  • .github/workflows/docker.yml
  • .github/workflows/interop.yml
  • .github/workflows/libmoq.yml
  • .github/workflows/moq-cli.yml
  • .github/workflows/moq-gst.yml
  • .github/workflows/moq-relay.yml
  • .github/workflows/nightly.yml
  • .github/workflows/obs.yml
  • .github/workflows/release-binary.yml
  • .github/workflows/release-brew.yml
  • .github/workflows/release-dart-ffi.yml
  • .github/workflows/release-dart.yml
  • .github/workflows/release-ffi.yml
  • .github/workflows/release-go-ffi.yml
  • .github/workflows/release-go.yml
  • .github/workflows/release-kt-ffi.yml
  • .github/workflows/release-kt-lib.yml
  • .github/workflows/release-py-ffi.yml
  • .github/workflows/release-py.yml
  • .github/workflows/release-swift-ffi.yml
  • .github/workflows/release-swift-lib.yml
  • .github/workflows/rpm-repo.yml
  • .github/workflows/swift.yml
  • .github/workflows/wasm.yml
  • .gitignore
  • CONTRIBUTING.md
  • Cargo.toml
  • bench/justfile
  • cpp/obs/justfile
  • dart/justfile
  • dart/moq_ffi/hook/build.dart
  • dart/moq_ffi/pubspec.yaml
  • demo/justfile
  • doc/setup/dev.md
  • drafts/justfile
  • flake.nix
  • go/.gitignore
  • go/ffi/README.md
  • go/ffi/moq/cgo.go
  • go/justfile
  • go/wrapper/README.md
  • go/wrapper/go.mod
  • js/common/workers.test.ts
  • js/justfile
  • js/wasm/.gitignore
  • js/wasm/README.md
  • justfile
  • kt/.gitignore
  • kt/README.md
  • kt/justfile
  • kt/moq-ffi/build.gradle.kts
  • kt/moq/src/jvmAndAndroidTest/kotlin/dev/moq/docs/Prelude.kt
  • py/justfile
  • quest/m1/bench-ci.md
  • quest/m1/moq-installer.md
  • quest/m1/performance-comparisons.md
  • quest/m1/tooling/README.md
  • quest/m1/tooling/justfiles.md
  • quest/m1/tooling/nix-guard.md
  • quest/m1/tooling/release-binary.md
  • quest/m1/tooling/release-ffi.md
  • quest/m1/tooling/workflows-call-just.md
  • rs/justfile
  • rs/moq-gst/package.sh
  • rs/moq-gst/scrub.sh
  • rs/moq-wasm/README.md
  • rs/scripts/doc-names.jq
  • rs/scripts/package-nfpm.test.sh
  • sh/clean.sh
  • sh/dart/check.sh
  • sh/dart/generate.sh
  • sh/dart/package.sh
  • sh/dart/publish.sh
  • sh/dispatch.sh
  • sh/drafts/build.sh
  • sh/drafts/check.sh
  • sh/drafts/publish.sh
  • sh/gh/alert.sh
  • sh/gh/check-runs.ts
  • sh/gh/install-formula.py
  • sh/gh/install-formula.test.py
  • sh/gh/release.sh
  • sh/gh/release.test.sh
  • sh/gh/render-formula.sh
  • sh/gh/trigger-repo-publish.sh
  • sh/go/check-errors.sh
  • sh/go/check.sh
  • sh/go/package-ffi.sh
  • sh/go/package-wrapper.sh
  • sh/go/publish-ffi.sh
  • sh/go/publish-wrapper.sh
  • sh/go/publish-wrapper.test.sh
  • sh/go/stage.sh
  • sh/js/workers.sh
  • sh/kt/check.sh
  • sh/kt/generate.sh
  • sh/kt/package.sh
  • sh/markdown.sh
  • sh/obs/check.sh
  • sh/obs/compile.sh
  • sh/obs/fix.sh
  • sh/obs/includes.sh
  • sh/obs/preset.sh
  • sh/obs/test.sh
  • sh/obs/unit.sh
  • sh/py/samples.sh
  • sh/rs/c-tests.sh
  • sh/rs/fuzz.sh
  • sh/rs/media-features.sh
  • sh/rs/package-binary.sh
  • sh/rs/package-nfpm.sh
  • sh/rs/package-rename.test.py
  • sh/rs/package-windows.sh
  • sh/rs/package.sh
  • sh/rs/scrub-macho.sh
  • sh/rs/select.sh
  • sh/rs/stats-docs.py
  • sh/rs/tokio-features.sh
  • sh/rs/vulkan-cuda.sh
  • sh/shell.sh
  • sh/swift/check.sh
  • sh/swift/package-ffi.sh
  • sh/swift/package.sh
  • sh/swift/publish-ffi.sh
  • sh/swift/publish.sh
  • sh/swift/verify-ffi.sh
  • sh/swift/verify.sh
  • swift/.gitignore
  • swift/.spi.yml
  • swift/Package.swift
  • swift/Package.swift.template
  • swift/README.md
  • swift/Tests/MoqTests/Docs/Prelude.swift
  • swift/ffi/Package.swift.template
  • swift/justfile
  • test/README.md
  • test/interop/README.md
  • test/interop/clients/go/go.mod
  • test/interop/interop.sh
  • test/justfile
  • test/wasm/README.md
  • test/wasm/run.sh

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.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-26T00:21:53.181682Z 3b76b64 Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@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: 3b76b6460b

ℹ️ 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 sh/rs/select.sh
return
fi

grep -q '^rs/' "$list" || return 0

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 Run Tokio features when its script changes

When a PR changes only sh/rs/tokio-features.sh, the root dispatcher selects the Rust module, but select_packages returns here because the changed-file list contains no rs/ path. CI then reports rs: no crates affected; skipping. and never executes the modified feature-matrix script, so broken commands can merge without any functional test. Treat this path as selecting the Tokio feature gate, as is already done for media-features.sh.

AGENTS.md reference: AGENTS.md:L23-L23

Useful? React with 👍 / 👎.

Comment thread sh/dispatch.sh
declare -A scope=(
[js]='^(js/|doc/|drafts/|demo/(boy|web)/|test/interop/clients/js|test/wasm/|sh/js/|sh/rs/stats-docs\.py$|package\.json$|bun\.lock(b)?$|biome\.jsonc$)'
# Workers with lockfiles outside the Bun workspace.
[workers]='^(infra/apt/|infra/rpm/|demo/pub/|sh/js/workers\.sh$)'

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 Keep js/justfile in the worker scope

When only js/justfile changes, it matches the main JS scope but not this worker scope, so CI runs the Bun workspace checks without invoking just js workers. This drops the previous behavior where a js/justfile edit exercised all three worker deploy dry-runs, allowing a broken worker recipe or script path to pass until after merge. Include js/justfile in this pattern.

AGENTS.md reference: AGENTS.md:L23-L23

Useful? React with 👍 / 👎.

This branch has not been deployed

No deployments
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