ci: release SBOM + build provenance + CODEOWNERS - #307
Merged
Conversation
The genuinely-additive remnant of the (now-closed, stale) #306, rebuilt on current main. Everything else #306 proposed — Actions SHA-pinning, ci.yml least-privilege, Docker digest pinning, the cryptography bump — already landed on main via the 0.7.x security work. - Generate a CycloneDX SBOM (cyclonedx-bom, new dev dep) for the runtime deps at release time and attach it to the GitHub release. Kept out of dist/ so the PyPI upload is unaffected. - Attest GitHub-native build provenance (actions/attest-build-provenance, SHA-pinned) for the wheel + sdist; complements PyPI's PEP 740 attestations. Adds attestations:write to the build job. - Add .github/CODEOWNERS routing the SQL-safety kernel, policy, and CI/release pipeline to the maintainer. Validated: publish.yml YAML-valid, uv sync --locked consistent, SBOM generation tested locally (CycloneDX 1.6, 46 components). The publish.yml steps run only on a tag release, so they're validated on the next release rather than by PR CI. Roadmap linkage: N/A — CI/supply-chain hardening. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0122yLZLJ8t4W43sdN6BmTZc
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The genuinely-additive remnant of the now-closed #306, rebuilt cleanly on current
main(0.7.1). #306 was based on a stale 0.6.12 base and mostly duplicated the 0.7.x security work already onmain(Actions SHA-pinning,ci.ymlleast-privilege, Docker digest pinning, thecryptographybump). Only three items were still missing — those are here:1. Release SBOM — the
buildjob generates a CycloneDX SBOM (cyclonedx-bom, new dev dep) from the locked runtime deps and attaches it to the GitHub release. Kept out ofdist/so the PyPI upload (dist/*) is unaffected.2. Build provenance —
actions/attest-build-provenance(SHA-pinned) attests the wheel + sdist: GitHub-native,gh attestation verify-able provenance that complements the PEP 740 attestations PyPI Trusted Publishing already emits. Addsattestations: writeto thebuildjob only.3.
CODEOWNERS— routes the SQL-safety kernel, access-mode policy, and CI/release pipeline to the maintainer (enables "Require review from Code Owners" branch protection if you want it).Validation
publish.ymlYAML-valid;uv sync --lockedconsistent after the new dev depci.ymlchange, so the rest of CI is unaffected.Not included (already on
main)Actions SHA-pinning,
ci.ymlpermissions, Docker digest pinning,cryptography50.0.0 — all already shipped in 0.7.x.Roadmap linkage
Advances roadmap row: N/A — CI/supply-chain hardening.
Checklist
ruff,ruff format, andmypy src/mcpgpass — no source changeCHANGELOG.mdupdated under[Unreleased]N/A)src/mcpg/_vendor/🤖 Generated with Claude Code
https://claude.ai/code/session_0122yLZLJ8t4W43sdN6BmTZc
Generated by Claude Code
Summary by Sourcery
Add SBOM generation and build provenance attestation to the release workflow and introduce code ownership routing for critical areas.
New Features:
Enhancements:
Build:
CI:
Documentation: