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
Copy file name to clipboardExpand all lines: AGENTS.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -258,7 +258,8 @@ packaging/npm/
258
258
6. Smoke-tests the published wrapper with `npx --yes agoraio-cli@<tag> --version` (retry/backoff for registry propagation)
259
259
260
260
**Prerequisites:**
261
-
- npm **Trusted Publisher** configured on each package (`agoraio-cli` and all `agoraio-cli-*`), pointing at repo `AgoraIO/cli` and workflow `release.yml`.
261
+
- npm package names already exist on the registry before relying on trusted publishing. For first-time package creation, use a short-lived granular `NPM_TOKEN` repository secret for the bootstrap release, then remove it after trusted publishers are configured.
262
+
- npm **Trusted Publisher** configured on each existing package (`agoraio-cli` and all `agoraio-cli-*`), pointing at repo `AgoraIO/cli` and workflow `release.yml`.
262
263
-`id-token: write` workflow permission (already set in `release.yml`) — required for trusted publishing and provenance.
263
264
264
265
**Manual dry-run:** the workflow exposes `workflow_dispatch` with a `dry_run` input that runs `npm publish --dry-run` against a synthetic version, validating packaging without publishing.
Copy file name to clipboardExpand all lines: CHANGELOG.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
@@ -17,6 +17,7 @@ Earlier entries pre-date this convention and only carry their version's compare
17
17
18
18
### Fixed
19
19
20
+
- Allow the npm release job to use a short-lived `NPM_TOKEN` bootstrap secret when platform packages do not yet exist on npm, while keeping trusted publishing as the default tokenless path.
20
21
- Update GoReleaser Cosign signing to emit `checksums.txt.sigstore.json` with `--bundle`, matching Cosign's current bundle-based signing flow.
Copy file name to clipboardExpand all lines: RELEASING.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,8 @@ The release workflow (`.github/workflows/release.yml`) then:
25
25
- Publishes the six per-platform packages with `npm publish --provenance`
26
26
- Publishes the wrapper package (`agoraio-cli`) with `npm publish --provenance`
27
27
- Runs a post-publish smoke test: `npx --yes agoraio-cli@<tag> --version` with retry/backoff to handle registry propagation
28
-
- Authenticates via [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/) (OIDC from GitHub Actions — no `NPM_TOKEN` secret)
28
+
- Authenticates via [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/) (OIDC from GitHub Actions) once packages exist and trust is configured
29
+
- Can use `NPM_TOKEN` as a bootstrap fallback for first-time package publishes before trusted publishers can be configured
29
30
- Requires `id-token: write` workflow permission (already set in `release.yml`)
30
31
31
32
3.**Apt repository** job (triggered by the published release):
@@ -63,7 +64,8 @@ The release workflow exposes a `workflow_dispatch` trigger that runs the npm pub
63
64
64
65
Before tagging the first real release that ships npm, confirm:
65
66
66
-
-[ ] Each npm package has a **Trusted Publisher** configured on [npmjs.com](https://www.npmjs.com) (Package → Settings → Trusted Publisher → GitHub Actions):
67
+
-[ ] Each npm package already exists on npm. If a package does not exist yet, add a short-lived granular `NPM_TOKEN` repository secret with publish rights for the bootstrap release, then remove it after configuring trusted publishing.
68
+
-[ ] Each existing npm package has a **Trusted Publisher** configured on [npmjs.com](https://www.npmjs.com) (Package → Settings → Trusted Publisher → GitHub Actions):
67
69
- Repository: `AgoraIO/cli`
68
70
- Workflow filename: `release.yml`
69
71
- Configure for `agoraio-cli` and all six `agoraio-cli-{os}-{arch}` platform packages
@@ -78,6 +80,7 @@ Before tagging the first real release that ships npm, confirm:
0 commit comments