Skip to content

fix: push git tags and create GitHub Release after npm publish#47

Merged
ignromanov merged 4 commits into
mainfrom
fix/codec-release-github-releases
Jun 4, 2026
Merged

fix: push git tags and create GitHub Release after npm publish#47
ignromanov merged 4 commits into
mainfrom
fix/codec-release-github-releases

Conversation

@ignromanov
Copy link
Copy Markdown
Contributor

Summary

  • Task A (release.yml): After pnpm changeset publish, push the locally-created git tags to origin (git push origin --follow-tags) and create a GitHub Release with auto-generated notes (softprops/action-gh-release@v3.0.0, SHA-pinned). Existing OIDC publish step untouched; contents: write + id-token: write permissions unchanged.
  • Task B (README.md): Remove the "Not yet published — Phase 3" blockquote under Quick Install; update Status to reflect npm publish is done and only voidpay.xyz cutover remains; update packages table from "0.1.0 ready" to "0.1.0 — live on npm".

Files changed

  • .github/workflows/release.yml (+6 lines, 0 deletions)
  • README.md (+4 lines, 6 deletions)

Test plan

  • CI (ci-gate) passes on this PR (no Rust/TS build triggered by these changes — expect fast green)
  • Verify release.yml YAML indentation and SHA pin match existing action pins in the file
  • Verify permissions: contents: write and id-token: write both present in workflow
  • Verify README no longer contains "Not yet published" text

After `pnpm changeset publish` creates local git tags, push them to
origin and create a GitHub Release with auto-generated notes.

- `git push origin --follow-tags` propagates the version tags
- `softprops/action-gh-release@v3.0.0` (SHA-pinned) creates the Release
  with `generate_release_notes: true` for an auto-generated changelog

Permissions already include `contents: write` and `id-token: write`
(OIDC provenance) — no permission changes needed.
…tice

- Status: note npm publish complete (0.1.0 live); remaining Phase 3
  scope = voidpay.xyz cutover only (C1 / vl-app #120)
- Packages table: "0.1.0 ready" → "0.1.0 — live on npm" for all three
- Quick Install: remove "> Not yet published — Phase 3" blockquote
…ublishing

After npm publish + GitHub Release, obtain a short-lived crates.io token
via `rust-lang/crates-io-auth-action@v1.0.4` (SHA-pinned, OIDC — no
stored API token needed) and run `cargo publish`.

Dry-run validation: packaged 106 files (157.5 KiB compressed), verified
host build clean in 27s — `--no-verify` not needed; cdylib + wasm-bindgen
deps compile fine on the native target.

`id-token: write` and `contents: write` permissions unchanged.
Bug 1: `--follow-tags` only pushes annotated tags; changeset publish
creates lightweight tags. Switch to `--tags` to push all tags.

Bug 2: `softprops/action-gh-release` defaults to `github.ref` on a
manual dispatch (a branch ref, not a tag), creating a bogus release.
Add a "Derive version" step that reads packages/codec/package.json
and exposes `steps.ver.outputs.v`; pass it as `tag_name` to the
action. The action is idempotent: it updates an existing release if
v0.1.0 already exists (no failure on re-run).
@ignromanov ignromanov merged commit b9433ea into main Jun 4, 2026
7 checks passed
@ignromanov ignromanov deleted the fix/codec-release-github-releases branch June 4, 2026 19:38
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