Skip to content

ci: lint every Rust feature, cache Windows builds and lint the workflows and scripts - #540

Merged
ryanduguid merged 2 commits into
mainfrom
ryan/ci-lint-2026-11-03
Nov 2, 2026
Merged

ryanduguid merged 2 commits into
mainfrom
ryan/ci-lint-2026-11-03

Conversation

@ryanduguid

Copy link
Copy Markdown
Owner
  • ci-rust.yml: clippy also runs with --all-features, so the adapter's
    differential feature is compiled and linted; the tests keep the default
    (shipped) features. Windows legs restore a rust-cache, saved from main only.
    cargo-audit 0.22.2 comes from install-action instead of compiling per crate.
  • fuzzing.yml: no push trigger; nightly-2026-10-15 and the checksum-verified
    cargo-fuzz 0.13.2 release asset, fuzzing on the glibc target.
  • boundaries.yml root-checks: pinned, checksum-verified shellcheck over the
    tracked shell scripts and actionlint over the workflows. lib.sh gains a shell
    directive and braces for ${sdist}[dev]; the smoke step quotes $BINARY and
    keeps $SMOKE split on purpose; parity counts candidates with find.
  • glama-badges.yml: concurrency, cancelling superseded pull request runs.

Checked locally: actionlint (0 findings), zizmor --offline (no new findings against the base) and a YAML parse of every workflow; on Linux every crate passed cargo clippy --locked --all-targets --all-features -- -D warnings and cargo test --locked --all-features (adapter 384 passed, 1 ignored); root pytest 163 passed; the workflow unit tests 53 passed; shellcheck went from 2 errors to 0 and actionlint from 3 findings to 0; cargo-fuzz's asset digest matched and both targets built and replayed their corpus; after dropping the macOS change, pytest tests/test_rust_engine.py 9 passed (46 subtests).

Not verified: the Windows cache hit rate after main first saves; the fuzzing workflow itself, which can be dispatched once this is on main.

Alcuin (GPT-6, Extra High) reviewed it over 3 rounds. Round 1 blocked moving the macOS legs off pull requests (they would have run only after merge); that change is dropped, as it existed only to free macOS runners for a private repository whose Actions are now off. Round 2 caught CONTRIBUTING.md still describing it; fixed. Round 3: APPROVE, no findings.

…ows and scripts

- ci-rust.yml: clippy also runs with --all-features, so the adapter's
  differential feature is compiled and linted; the tests keep the default
  (shipped) features. Windows legs restore a rust-cache, saved from main only.
  cargo-audit 0.22.2 comes from install-action instead of compiling per crate.
- fuzzing.yml: no push trigger; nightly-2026-10-15 and the checksum-verified
  cargo-fuzz 0.13.2 release asset, fuzzing on the glibc target.
- boundaries.yml root-checks: pinned, checksum-verified shellcheck over the
  tracked shell scripts and actionlint over the workflows. lib.sh gains a shell
  directive and braces for ${sdist}[dev]; the smoke step quotes $BINARY and
  keeps $SMOKE split on purpose; parity counts candidates with find.
- glama-badges.yml: concurrency, cancelling superseded pull request runs.
@ryanduguid
ryanduguid enabled auto-merge (squash) November 2, 2026 14:29
@ryanduguid
ryanduguid merged commit a5a56e5 into main Nov 2, 2026
92 checks passed
@ryanduguid
ryanduguid deleted the ryan/ci-lint-2026-11-03 branch November 2, 2026 14:38
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