Skip to content

ci: add shear and zizmor checks, and move heavy GitHub Actions jobs to WarpBuild#2826

Merged
huitseeker merged 7 commits into0xMiden:nextfrom
huitseeker:protocol-ci-cargo-shear-zizmor
Apr 30, 2026
Merged

ci: add shear and zizmor checks, and move heavy GitHub Actions jobs to WarpBuild#2826
huitseeker merged 7 commits into0xMiden:nextfrom
huitseeker:protocol-ci-cargo-shear-zizmor

Conversation

@huitseeker
Copy link
Copy Markdown
Contributor

@huitseeker huitseeker commented Apr 24, 2026

  1. The dependency check now uses cargo-shear, an upgrade from cargo-machete. cargo shear looks not only for unused dependencies (better than machete, as shown by this PR's removals), but also for those put in the wrong dependency section.
  2. zizmor scans GitHub Actions files for risky patterns, like loose action pins or unsafe defaults.
  3. The heavier CI jobs now run on beefier WarpBuild runners. CI test 17 -> 7 min.
  4. The dependency policy check now also uses cargo-workspace-inheritance-check. It makes sure crates that are shared across the workspace use one workspace-level dependency entry instead of repeating versions in many crate manifests.

The PR also removes the unused dependencies that shear found, pins action versions more tightly, and fixes feature-flag issues.

@huitseeker huitseeker added the no changelog This PR does not require an entry in the `CHANGELOG.md` file label Apr 24, 2026
@huitseeker huitseeker force-pushed the protocol-ci-cargo-shear-zizmor branch from 6f45b6a to cf68b1a Compare April 26, 2026 05:14
Copy link
Copy Markdown
Contributor

@PhilippGackstatter PhilippGackstatter left a comment

Choose a reason for hiding this comment

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

Looks good to me!

Comment on lines +15 to +16
[lib]
doctest = false
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.

This disables running doctest by default, right? If so, doesn't this increase the risk of not running them when not using a make command? Or what's the benefit of disabling these?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The lint is doctest_enabled_without_doctests: this removes a vacuous run, something which can and should be reversed when we add doc tests.

@huitseeker huitseeker force-pushed the protocol-ci-cargo-shear-zizmor branch from cf68b1a to eaa6129 Compare April 28, 2026 18:50
@mmagician mmagician added the pr-from-maintainers PRs that come from internal contributors or integration partners. They should be given priority label Apr 28, 2026
Comment thread .github/actions/workspace-release/action.yml Outdated
Comment thread .github/actions/workspace-release/action.yml
Comment thread .github/workflows/build.yml
Comment thread .github/workflows/lint.yml
Comment thread crates/miden-testing/Cargo.toml
Copy link
Copy Markdown
Contributor

@partylikeits1983 partylikeits1983 left a comment

Choose a reason for hiding this comment

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

Looks great! One question though. The new workspace criterion pin is 0.5, but bin/bench-note-checker and bin/bench-transaction were both on 0.6 before this PR. Swapping their dev-dep to workspace = true quietly downgrades them. Could you confirm the downgrade is intentional? If it's not too difficult, would it make sense to bump the workspace pin to 0.6 and update miden-protocol's dev-dep alongside, to keep the bench crates where they were?

@huitseeker
Copy link
Copy Markdown
Contributor Author

huitseeker commented Apr 28, 2026

@partylikeits1983 Yup it's intentional: keeping the workspace at criterion 0.6 would require removing the pproof-rs integration in benchmarks (or allowing two versions of the same crate). Lmk if there is one solution we can get reasonable alignment on.

@huitseeker huitseeker added this pull request to the merge queue Apr 30, 2026
Merged via the queue into 0xMiden:next with commit c700c85 Apr 30, 2026
18 checks passed
@huitseeker huitseeker deleted the protocol-ci-cargo-shear-zizmor branch April 30, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no changelog This PR does not require an entry in the `CHANGELOG.md` file pr-from-maintainers PRs that come from internal contributors or integration partners. They should be given priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants