Skip to content

feat: sign GitHub Release files with Sigstore - #46

Closed
gtauzin wants to merge 1 commit into
mainfrom
feat/sign-release-artifacts
Closed

gtauzin wants to merge 1 commit into
mainfrom
feat/sign-release-artifacts

Conversation

@gtauzin

@gtauzin gtauzin commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

Description

create-release now signs each distribution and the SBOM with Sigstore (keyless, uvx sigstore==4.5.0 sign) and uploads the <file>.sigstore.json bundles to the GitHub Release next to the files they sign. id-token: write is granted to create-release only, not to build. The security page explains how to verify a downloaded file.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Other (please describe):

Motivation and Context

PyPI attestations cover the PyPI copy only, so Scorecard's Signed-Releases check scores 0 and shows up as a code-scanning alert. Scorecard counts .sigstore.json release assets as signatures; the score rises as new releases are published. Same change as stateful-y/python-package-copier#478, applied as the rendered diff so the next copier update has nothing left to change.

Checklist

  • My code follows the code style of this project
  • I have run just fix to format my code
  • I have run just lint to verify linting and type annotations
  • I have updated the documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed
  • My changes generate no new warnings

Additional Notes

The signing step only runs in Actions, so this release workflow's next run is the end-to-end check.

PyPI attestations cover the PyPI copy only, so files downloaded from a
GitHub Release had nothing to verify against and Scorecard's
Signed-Releases check scored 0. create-release now signs each
distribution and the SBOM keylessly and uploads the .sigstore.json
bundles next to them. Mirrors stateful-y/python-package-copier#478.
@read-the-docs-community

Copy link
Copy Markdown

Documentation build overview

📚 yohou-mlflow | 🛠️ Build #35247609 | 📁 Comparing 8132d95 against latest (fd99ddc)

  🔍 Preview build  

2 files changed
± pages/explanation/security/index.html
± pages/how-to/contribute/index.html

@codecov

codecov Bot commented Oct 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@gtauzin gtauzin closed this Oct 19, 2026
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