Skip to content

Release standard: move crates.io publish into signed CI, sign release assets, extract verification #100

Description

@avrabe

Sweep finding: mcp's "release" pipeline only validates — it never publishes or signs. crates.io publishing is a stale, manual, unsigned local shell script (scripts/publish.sh, still pinned to v0.3.1/v0.4.0 while the workspace is 0.17.0), and the GitHub-Release tarball ships with no SHA256SUMS, no SBOM, no cosign, no SLSA. rivet is configured (rivet.yaml) but has 0 verifies links and is unwired.

Track A + B — publish + sign (priority):

  • Move crates.io publishing into CI, signed, OIDC trusted publishing — retire the manual scripts/publish.sh.
  • Add the full supply chain to the GH Release: SHA256SUMS + CycloneDX SBOM + cosign keyless + SLSA (synth-canonical).

Track E — extraction:

  • Wire rivet into CI and add verifies links mapping requirements → tests (relay pattern).

Track C N/A (mcp emits no wasm).


Part of the org-wide release-consistency campaign — the five-track standard is in the release-artifact-pipeline skill (plugin v0.10.0).
Coordination hub: pulseengine/pulseengine.eu#98 — if this standard does not fit this repo (you need a deviation, different sequencing, or want to sync on how a track applies), raise it there. Deviations are decided in the open at the hub, not diverged silently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    release-standardOrg-wide release-consistency campaign (five-track standard); coordinate at pulseengine.eu#98

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions