You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 7004281
Browse filesBrowse the repository at this point in the historyBrowse files
ci(release): stop building and publishing the Python wheel
The Python SDK now releases from ai-openshell/sdk-python, and its first
release there is openshell 0.1.8. PyPI never accepts a version twice, so
core must not publish 0.1.8 when it tags v0.1.8. openshell 0.1.7 stays
the last core-built wheel.
Stable and prerelease releases no longer build the wheel, attach it to
the GitHub Release, include it in the checksums and attestations, or
publish it to PyPI. wheel-publish.yml and the publish-pypi job are
removed, along with the python-version plumbing that only fed them.
The rolling dev release keeps its wheel, and PR checks still build the
SDK, until the SDK sources leave core.
Refs #5287
Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>
Copy file name to clipboardExpand all lines: .agents/skills/release-openshell/SKILL.md
+4-15Lines changed: 4 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,8 +33,8 @@ Release creates `vX.Y.Z` at that exact commit, then rebuilds and publishes all
33
33
stable artifacts without rerunning qualification. Embedded versions change, so
34
34
stable artifacts are not byte-identical to the qualified prerelease. An existing
35
35
stable tag may be retried only if it already points to the selected commit. A retry
36
-
publishes only missing artifacts; published images, charts, release assets, npm,
37
-
and PyPI versions are kept, while the snap is uploaded again.
36
+
publishes only missing artifacts; published images, charts, release assets, and
37
+
npm versions are kept, while the snap is uploaded again.
38
38
Stable images are saved as OCI archives during the build and pushed under the
39
39
stable version tags during publication. Their SBOMs are verified before updating
40
40
`latest`; the qualified prerelease's commit-SHA image tags remain unchanged.
@@ -84,17 +84,6 @@ immutable version and advance latest only for a newer version.
84
84
85
85
Watch the stable release run and report its result.
86
86
87
-
## PyPI publishing
87
+
## Python SDK
88
88
89
-
Stable releases publish the Python wheel to PyPI from `wheel-publish.yml`, which the `publish-pypi` job in `release-publish.yml` calls after the GitHub Release is created. The workflow downloads the wheel from the stable GitHub Release, not a run's build artifact, and checks the stable tag's source commit and the wheel's release checksum. It uses Trusted Publishing with the `pypi` GitHub environment. PyPI matches the workflow file that contains the publishing job, so configure the `openshell` PyPI project's GitHub publisher with owner `NVIDIA`, repository `OpenShell`, workflow `wheel-publish.yml`, and environment `pypi`. No PyPI API token or GitLab trigger credentials are required.
90
-
91
-
The environment must allow the branch used to dispatch Release or `wheel-publish.yml`. For a support release, explicitly allow its support branch before dispatching. Required reviewers, if configured, must approve the PyPI job. An existing wheel on PyPI is skipped; PyPI does not allow replacing a published wheel.
92
-
93
-
If a stable release did not reach PyPI, publish the wheel without rerunning Release:
94
-
95
-
```shell
96
-
gh workflow run wheel-publish.yml -R NVIDIA/OpenShell --ref main \
Development and prerelease wheels remain GitHub Release assets and do not publish to PyPI.
89
+
Core no longer builds or publishes the Python SDK for releases. Stable and prerelease GitHub Releases carry no wheel, and nothing in core publishes to PyPI. `openshell``0.1.7` is the last core-built wheel. From `0.1.8` on, [ai-openshell/sdk-python](https://github.com/ai-openshell/sdk-python) publishes `openshell` on the same day as each stable core release, once its update PR for the core tag merges. The rolling `dev` release still attaches a development wheel until the SDK sources leave core (NVIDIA/OpenShell#5287).
Copy file name to clipboardExpand all lines: CI.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -440,7 +440,7 @@ without rerunning qualification. These artifacts have different embedded version
440
440
from the qualified prerelease. Existing stable tags are never moved; a retry must
441
441
resolve to the same qualified candidate. A retry rebuilds, then publishes only what
442
442
is missing: it keeps published GHCR version tags, Helm charts, GitHub Release assets,
443
-
npm versions, and PyPI versions. Snap uploads are not skipped.
443
+
and npm versions. Snap uploads are not skipped.
444
444
445
445
Stable image builds save multi-platform OCI archives as workflow artifacts without
446
446
pushing to GHCR. Publication copies those archives, including their attestations,
@@ -725,14 +725,13 @@ Each step that publishes to an external registry, store, or site lives in its ow
725
725
| `.github/workflows/release-auto-tag.yml` | Weekdays at 14:00 Europe/Zurich, tags the next `-pre.N` on `main` when commits landed since the latest one, then dispatches Pre-release. It skips when the train has no `-pre.1` or its version is already stable, so push each train's `-pre.1` tag by hand. |
726
726
| `.github/workflows/release-prerelease.yml` | Pre-release orchestrator, triggered by prerelease tag pushes or dispatched by Release Auto-Tag or manually. A tagless dispatch creates the next candidate on its branch; explicit tags select existing candidates. Builds, then publishes and qualifies in parallel. Qualification failure fails the run and sends the failure notification; published artifacts remain available. |
727
727
| `.github/workflows/release-build.yml` | Shared version computation, binary and image builds, and package builds. Validates that the tag matches the caller's release kind. |
728
-
| `.github/workflows/release-publish.yml` | Shared artifact assembly, OCI image tags and Helm chart publication, and package publication. Stable releases also publish release-labeled public schemas to Buf (`BUF_TOKEN` required) and GitHub Releases, and call the PyPI, snap, npm, and Go SDK publishers. |
728
+
| `.github/workflows/release-publish.yml` | Shared artifact assembly, OCI image tags and Helm chart publication, and package publication. Stable releases also publish release-labeled public schemas to Buf (`BUF_TOKEN` required) and GitHub Releases, and call the snap, npm, and Go SDK publishers. The Python SDK is released from [ai-openshell/sdk-python](https://github.com/ai-openshell/sdk-python), so stable and prerelease GitHub Releases carry no wheel. |
729
729
| `.github/workflows/release-notes.yml` | Shared prompt-driven release notes generation through Inference Hub, used by prerelease previews, notes-only previews, and stable releases. Stable releases reuse the promoted prerelease's preview when available. |
730
730
| `.github/workflows/release-qualification.yml` | Reusable qualification suites and result aggregation. Runs security scans, conformance and feature integration, Docker and VM E2E, protobuf compatibility, and advisory compatibility review. |
731
731
| `.github/workflows/snap-package.yml` | Builds snap and component artifacts for Release Dev, Release, and Pre-release without Store credentials or publication. |
732
732
| `.github/workflows/snap-publish.yml` | Uploads existing snap and component artifacts directly to a Store channel without rebuilding. Release Dev uses `latest/edge`, Pre-release uses `latest/beta`, and Release uses `latest/stable` for the stable rebuild. Uploads queue per channel and architecture, so tagged beta and stable jobs recheck repository tags after earlier publication finishes and before updating their floating channels. Manual dispatch uploads the `snap-linux-*` artifacts from `artifact-run-id`. |
733
733
| `.github/workflows/sdk-typescript-publish.yml` | Publishes the TypeScript SDK to GitHub Packages. Called by stable Release; manual dispatch publishes a given tag and npm version. |
734
734
| `.github/workflows/sdk-go-tag.yml` | Creates the `sdk/go/vX.Y.Z` tag and asks the Go module proxy to fetch it. Called by stable Release; manual dispatch tags a given version and commit. |
735
-
| `.github/workflows/wheel-publish.yml` | Publishes the wheel attached to a stable GitHub Release to PyPI with Trusted Publishing in the `pypi` environment. Called by stable Release; manual dispatch publishes a given tag. |
736
735
| `.github/workflows/release-canary.yml` | Smoke-tests published dev artifacts in the `macos`, `ubuntu-deb`, `ubuntu-snap-system-docker`, `fedora`, and `kubernetes` (kind + Helm) jobs. Each job reaches its gateway and creates, exercises, and deletes a sandbox. The `ubuntu-snap-system-docker` job verifies a compatible system Docker lifecycle, while `ubuntu-snap-docker-preflight` tests fail-fast behavior when Docker is absent or supplied by the Docker snap. The positive snap lane also runs a local policy containment check with the packaged prover. It runs automatically after `Release Dev` succeeds and supports manual dispatch (`gh workflow run release-canary.yml --ref <branch>`). See the `test-release-canary` skill for the playbook and local kind reproduction. |
0 commit comments