Skip to content

Release operations: configure the PyPI Trusted Publisher for 0.2.0 #17

Description

@seonghobae

External configuration blocker

ThreadWeave main is release-capable at commit 4030577a6018d5bef1ea6e9de201f32ac95a5bbc, and the threadweave project URL currently returns 404 on PyPI. Repository code cannot create or approve the PyPI account-side trust relationship.

The hourly NVIDIA NIM/OpenCode product-development workflow now stops fail-closed while this release-blocker issue remains open. PR review, repair, check revalidation, and merge continue normally, so release operations can proceed without unrelated product drift.

Before dispatching Release ThreadWeave with version 0.2.0, configure both sides of the identity boundary:

GitHub

  • Create an environment named pypi.
  • Limit deployment to the protected main branch.
  • Add the independent approval policy required by the organization.
  • Do not add a long-lived PyPI token.

PyPI pending Trusted Publisher

Configure these exact claims:

  • Owner: ContextualWisdomLab
  • Repository: ThreadWeave
  • Workflow: release.yml
  • Environment: pypi

Acceptance evidence

  • The GitHub environment is visible and protected.
  • The pending publisher exists under the account that will own threadweave.
  • The workflow is dispatched from main with version=0.2.0.
  • Build, SLSA provenance, SPDX SBOM attestation, annotated tag, immutable GitHub Release, and PyPI Trusted Publishing all succeed.
  • https://pypi.org/project/threadweave/0.2.0/ exposes both wheel and sdist with PEP 740 provenance.
  • A clean-environment install reproduces the documented THREAD and UID THREAD smoke example.

Do not manually upload distributions or add an API token to bypass a failed identity, digest, provenance, or environment check.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions