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 71ca942
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: .agents/skills/release-openshell/SKILL.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,3 +83,18 @@ updating a Snap Store support track. Docs retain an
83
83
immutable version and advance latest only for a newer version.
84
84
85
85
Watch the stable release run and report its result.
86
+
87
+
## PyPI publishing
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 \
Copy file name to clipboardExpand all lines: .agents/skills/sync-agent-infra/SKILL.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,6 +28,7 @@ Run after adding, removing, or renaming a skill or crate; changing issue or PR c
28
28
| TUI behavior |`tui-development`|
29
29
| Release artifacts or smoke coverage |`test-release-canary`|
30
30
| Release cadence, tagging, or qualification workflows |`release-captain`|
31
+
| Release workflows or publishers |`release-openshell`, `release-captain`; keep the Release workflows table and the manual-trigger rule in `CI.md` current |
31
32
| CI diagnostics |`watch-github-actions`|
32
33
| Native Windows builds, runtime, or release branch guidance |`build-openshell-mxc-windows`; keep Windows implementation links on `windows` even in docs merged to `main`|
Copy file name to clipboardExpand all lines: .agents/skills/watch-github-actions/SKILL.md
+17-10Lines changed: 17 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -135,25 +135,32 @@ For tmachine Kubernetes conformance failures, inspect the `e2e-results-conforman
135
135
136
136
For the `e2e-suites` lane (`.github/workflows/e2e-suites.yml`), the last lines of the job log give the runner's result: PASS, FAIL (exit 1) after the end of the nextest log (which names the failed tests), or ERROR (exit 2) with the step that broke. FAIL and ERROR also appear as annotations on the run's summary page. Then inspect the `e2e-results-<family>-<package>-<environment>-<installer>` artifact, which holds `junit.xml`, `nextest.log` and, after a failure, the guest's `diagnostics/`.
137
137
138
-
`Pre-release` temporarily omits Codex Security from its `Security Scan` job.
139
-
`Release` uses the passing prerelease qualification result. Other scanners and
140
-
qualification gates still run. Use the standalone
141
-
`Codex Security Release Qualification` workflow for manual investigation.
142
-
143
-
For `Codex Security`, an exit code of 2 with partial coverage is an incomplete
144
-
scan, not a HIGH/CRITICAL threshold failure. Check the execution diagnostics in
145
-
the job summary and the `codex-security-diagnostics-<run>-<attempt>` artifact on
138
+
`Pre-release` runs Codex Security as a separate advisory qualification job.
139
+
It scans the exact prerelease tag against the previous stable release. Findings
140
+
and scanner execution failures do not affect qualification or publication;
141
+
failed steps and warnings remain visible. `Release` uses the passing prerelease
142
+
qualification result. Codex Security has no schedule or manual trigger.
143
+
144
+
For Codex Security `0.8.3`, exit code 2 means an execution or required-output
145
+
failure. Deferred investigations no longer cause that exit code. Check the
146
+
execution diagnostics in the job summary and the
147
+
`codex-security-diagnostics-<run>-<attempt>` artifact on
146
148
scan failure. It contains fixed status values, aggregate coverage counts, and
147
149
disk space before, after, and the minimum sampled every five seconds. Missing
148
150
coverage or manifest documents indicate no readable final report was available;
149
-
deferred items or surfaces needing follow-up can explain partial coverage.
151
+
deferred items or surfaces needing follow-up describe coverage limitations.
152
+
Current reports omit the legacy completeness field, so the diagnostic's
153
+
`coverage` value is `unknown`; use `scan_status` and the exit code for execution.
150
154
Sampling cannot rule out a disk spike between samples.
151
155
152
156
Artifacts and logs in this public repository are public. Never upload the raw
153
157
scan directory, `report.md`, `coverage.json`, findings, agent state, or scanner
154
158
logs. Coverage reasons and notes are free text and may disclose vulnerabilities.
155
159
The public diagnostic intentionally omits them; detailed review needs an
156
-
approved private destination. Helpers must come from the workflow revision,
160
+
approved private destination. Setting the repository variable
161
+
`CODEX_SECURITY_DIAGNOSTICS_PUBLIC_KEY` enables bounded scanner logging and
162
+
encrypted report retention. Only ciphertext is uploaded; the private key stays
163
+
local. See `CI.md` for decryption. Helpers must come from the workflow revision,
157
164
not from the candidate under scan.
158
165
159
166
`setup-nix` retries development-shell preparation once when `prepare-shell`
0 commit comments