Skip to content

ci: add pmat comply gate (salvaged from #1)#8

Merged
noahgift merged 1 commit into
mainfrom
ci/pmat-comply
Apr 28, 2026
Merged

ci: add pmat comply gate (salvaged from #1)#8
noahgift merged 1 commit into
mainfrom
ci/pmat-comply

Conversation

@noahgift
Copy link
Copy Markdown
Contributor

Summary

  • Adds pmat comply to the existing gate job, alongside the bashrs + pv lints.
  • Installs pmat via the prebuilt-CLI tarball pattern (same shape as bashrs + pv) rather than cargo install pmat --locked — saves ~3 min of CI compile time per run.
  • Stable-only, same reasoning as the other prebuilt-CLI lints.

Why

This is the salvageable piece of #1. The rest of #1 (binary-upload + GHCR push) was superseded by today's tag-driven release.yml (#7), which is the right home for release artifacts (separate from the CI gate, fires on tags only). Closing #1 in favor of that split.

Test plan

  • gate (stable) runs pmat comply and passes
  • gate (1.85.0) skips it (stable-only if)
  • Verified locally: pmat comply exits 0 on shipping-rust at HEAD

🤖 Generated with Claude Code

pmat is paiml's quality + compliance tool — runs the same ruleset that
gates other paiml repos. Installed via the existing prebuilt-CLI
pattern (same shape as bashrs + pv: download tarball, extract, add to
PATH) rather than `cargo install pmat --locked` which would burn ~3 min
per CI run compiling from source.

Stable-only — same reasoning as bashrs + pv: the lint runs once across
the toolchain matrix, while the MSRV (1.85.0) matrix entry still
proves the workspace itself builds.

This is the only piece of #1 worth keeping. The binary-upload + GHCR
push from #1 was superseded by today's tag-driven release.yml (#7),
which is the architecturally correct home for those (separate from the
CI gate, fires on tags only). Closing #1 in favor of that split.

Verified: `pmat comply` exits 0 on shipping-rust today.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@noahgift noahgift merged commit 4f85b63 into main Apr 28, 2026
3 checks passed
@noahgift noahgift deleted the ci/pmat-comply branch April 28, 2026 09:25
noahgift added a commit that referenced this pull request Apr 28, 2026
…eady parity (#10)

Audit found three doc-drift items + one local-CI parity gap after the
recent burst of work (PRs #5#9). Fixing all four in one pass:

1. README CI gate tree was missing 4 steps (`bashrs lint`,
   `pv lint contracts/`, `pmat comply`, doc-test). Updated the
   tree + the prose summary + the "What this repo is teaching" /
   feature bullet at the top.
2. CHANGELOG `[Unreleased]` had no entries for the gate aggregator
   (#5), README badges (#6), release workflow (#7), `pmat comply`
   gate (#8), or the Rust 1.85 → 1.95 pin (#9). Filled in the gap.
3. README had no Distribution section despite the repo now shipping
   tarballs to GitHub Releases (4 targets) and container images to
   `ghcr.io/paiml/shipping-rust` (4 tags, public/anonymous). Added a
   "Releases" section between Container and CI.
4. `make ship-ready` was missing `bashrs lint` and `pmat comply` so
   a green local run did not match CI `gate`. Added `bashrs-lint` +
   `comply` targets and wired both into `ship-ready`.

No Rust code or workflow YAML touched. `pmat comply` still
COMPLIANT; `bashrs lint Makefile Dockerfile Dockerfile.distroless-cc`
still 0 errors / 0 warnings.
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