Skip to content

ci: publish SBOMs via OIDC trusted publishing instead of API tokens - #34

Draft
aurangzaib048 wants to merge 1 commit into
sbomify:masterfrom
aurangzaib048:feat/oidc-trusted-publishing
Draft

ci: publish SBOMs via OIDC trusted publishing instead of API tokens#34
aurangzaib048 wants to merge 1 commit into
sbomify:masterfrom
aurangzaib048:feat/oidc-trusted-publishing

Conversation

@aurangzaib048

Copy link
Copy Markdown

Draft — part of the org-wide migration of our own SBOM uploads from API tokens to GitHub OIDC trusted publishing.

What changed

pypi.yaml — both SBOM-upload jobs switch from TOKEN to OIDC (both already had permissions: id-token: write):

  • build-and-publish-testpypi: drop SBOMIFY_STAGE_TOKEN, set OIDC_AUDIENCE: stage.sbomify.com (keeps API_BASE_URL: https://stage.sbomify.com)
  • build-and-publish-pypi: drop SBOMIFY_TOKEN, set OIDC_AUDIENCE: sbomify.com

COMPONENT_ID and all other inputs unchanged.

⚠️ Do not merge until

  1. OIDC clock-skew fix deployed to prod (sbomify#1012) — prod OIDC currently 401s under clock skew. (Staging OIDC already works.)
  2. Bindings created for sbomify/pypi-tea
    • stage.sbomify.com: GqOHskUyBcUR
    • app.sbomify.com: e0O7yCDijhp7

Verify after merge

A push runs TestPyPI/staging; a release runs PyPI/production. Confirm each binding's "Last used" flips, then retire the token secrets here.

Switch the TestPyPI (staging) and PyPI (production) SBOM jobs in pypi.yaml from
static API token auth to GitHub OIDC trusted publishing: drop TOKEN
(SBOMIFY_STAGE_TOKEN / SBOMIFY_TOKEN) and set OIDC_AUDIENCE (stage.sbomify.com /
sbomify.com). Both jobs already declare `permissions: id-token: write`;
COMPONENT_ID, API_BASE_URL and all other inputs are unchanged.
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