Skip to content

chore(ci): harden distribution and rewrite the docs - #113

Merged
pixincreate merged 1 commit into
masterfrom
chore/ci-distribution-docs
Sep 14, 2026
Merged

pixincreate merged 1 commit into
masterfrom
chore/ci-distribution-docs

Conversation

@pixincreate

Copy link
Copy Markdown
Owner

Stacked PR 5 of 5 (base: feat/pre-push-range-scan).

Workflows: least-privilege permissions on ci.yml, the docker publish gated on the test suite, the ref name routed through env in update-baseline, a dead build step removed from release.yml, and a major-tag job that moves v2 to each stable release the way official actions maintain their major tags.

Action: on a missing or malformed report the exit-code output carries the effective failing status instead of a stale 0, and findings-count stays numeric.

Tooling: the container image gains WORKDIR /workspace, just check matches CI's clippy strictness, and release.sh drops an eval and an identical if/else.

Docs: the README is rewritten in plain language with usage split into command-line scanning and git hooks; the CHANGELOG documents the unreleased changes and upgrade notes. The committed baseline is pruned.

@pixincreate
pixincreate force-pushed the feat/pre-push-range-scan branch from e2748e2 to 0e6c802 Compare September 14, 2026 16:14
@pixincreate
pixincreate force-pushed the chore/ci-distribution-docs branch from 788ac2c to e63cf5b Compare September 14, 2026 16:14
@pixincreate
pixincreate force-pushed the feat/pre-push-range-scan branch from 0e6c802 to 03eac20 Compare September 14, 2026 16:17
@pixincreate
pixincreate force-pushed the chore/ci-distribution-docs branch from e63cf5b to d73ce53 Compare September 14, 2026 16:17
@pixincreate
pixincreate force-pushed the feat/pre-push-range-scan branch from 03eac20 to dbbd9ee Compare September 14, 2026 16:19
@pixincreate
pixincreate force-pushed the chore/ci-distribution-docs branch from d73ce53 to 29fd148 Compare September 14, 2026 16:19
@pixincreate
pixincreate force-pushed the feat/pre-push-range-scan branch from dbbd9ee to 38ad3d3 Compare September 14, 2026 16:22
@pixincreate
pixincreate force-pushed the chore/ci-distribution-docs branch from 29fd148 to 6476efa Compare September 14, 2026 16:22
@pixincreate
pixincreate force-pushed the feat/pre-push-range-scan branch from 38ad3d3 to fb1ea4f Compare September 14, 2026 16:29
@pixincreate
pixincreate force-pushed the chore/ci-distribution-docs branch from 6476efa to 5c313d6 Compare September 14, 2026 16:29
Base automatically changed from feat/pre-push-range-scan to master September 14, 2026 16:32
@pixincreate
pixincreate changed the base branch from feat/pre-push-range-scan to master September 14, 2026 16:32
Workflows:
- ci.yml runs with contents: read; it was the only workflow without a
  permissions block.
- docker-publish gates the image build on the test suite, so a tag
  whose release preflight failed can no longer ship a container and
  move the latest tag.
- update-baseline routes the ref name through env instead of
  interpolating it into the script.
- release.yml drops the dead aarch64 target step (the toolchain step
  already installs the matrix target) and adds a major-tag job that
  moves the moving major tag (v2) to each stable release, the same
  way official actions maintain theirs. Prerelease tags are skipped.

Action:
- On a missing or malformed report the published exit-code output is
  the effective failing status instead of a stale 0, and
  findings-count stays numeric (-1 when unknown).

Distribution and tooling:
- The container image sets WORKDIR /workspace so the documented mount
  works without --workdir.
- just check runs clippy with -D warnings to match CI; the bench
  recipe is dropped (no benches exist).
- release.sh calls the validated function directly instead of eval,
  collapses an if/else with identical branches, and matches CHANGELOG
  versions as anchored fixed strings.

Docs:
- README rewritten: usage is split into command-line scanning and git
  hooks, options are tables, and the wording is plain.
- CHANGELOG documents the unreleased behavior changes, the baseline
  upgrade notes, and the keep-a-changelog section structure is fixed.
- The committed baseline is pruned, which also folds pre-anchoring
  path spellings into repository-root-relative entries.

Assisted-by: Claude Fable 5
Signed-off-by: PiX <69745008+pixincreate@users.noreply.github.com>
@pixincreate
pixincreate force-pushed the chore/ci-distribution-docs branch from 5c313d6 to a76565d Compare September 14, 2026 16:33
@pixincreate
pixincreate merged commit 2d971a5 into master Sep 14, 2026
7 checks passed
@pixincreate
pixincreate deleted the chore/ci-distribution-docs branch September 14, 2026 16:36
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