Skip to content

build(release): publish the package from a release workflow - #190

Closed
erkamyaman wants to merge 1 commit into
pangular-inspector:mainfrom
erkamyaman:ci/release-workflow
Closed

erkamyaman wants to merge 1 commit into
pangular-inspector:mainfrom
erkamyaman:ci/release-workflow

Conversation

@erkamyaman

@erkamyaman erkamyaman commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Adds a Release workflow (.github/workflows/release.yml) so the package is published from GitHub Actions instead of by hand.

What it does

Run by hand from the Actions tab, on main only, with a version (patch, minor or an exact x.y.z):

  1. Runs the CI checks on the commit (ci.yml as a reusable workflow).
  2. Sets the version in packages/devtools/package.json.
  3. Takes the release notes from the ## <version> section of packages/devtools/CHANGELOG.md, and stops if there isn't one.
  4. Packs the package and checks the tarball with pnpm verify:publish --tarball=....
  5. Publishes with --provenance through npm trusted publishing (OIDC, no token stored). It skips the publish if that version is already on npm, so a rerun finishes a half-done release.
  6. Commits the version, tags devtools@<version> and creates the GitHub release.

publishing.md covers the one-time setup and each release, and keeps the manual commands as a fallback.

Setup needed before the first run

  • On npmjs.com, in the @pangular-inspector/devtools settings, add a trusted publisher: GitHub Actions, owner pangular-inspector, repository devtools, workflow release.yml, no environment.
  • If main is protected, let GitHub Actions push the version commit and tag.
  • Settings > Actions > Workflow permissions: "Read and write".

Checks

  • actionlint and pnpm format:check pass
  • Changelog section extraction and the version bump (patch, minor, exact) checked locally, including 0.0.7 vs 0.0.70
  • pnpm verify:publish --tarball=... passed locally

@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added area: docs The documentation site area: ci Workflows, hooks and repository tooling labels Sep 30, 2026
@nx-cloud

nx-cloud Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit 1555489

Command Status Duration Result
nx affected -t test build ✅ Succeeded 1m 13s View ↗

💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗


☁️ Nx Cloud last updated this comment at 2026-10-03 13:49:56 UTC

Adds a Release workflow run by hand on main. It runs the CI checks,
sets the version, takes the notes from the changelog, checks the
packed tarball through a local registry, publishes with provenance
through npm trusted publishing, then commits the version, tags it and
creates the GitHub release. The publishing guide covers the one-time
npm setup and keeps the manual commands as a fallback.
@erkamyaman
erkamyaman force-pushed the ci/release-workflow branch from 1555489 to c30241f Compare October 7, 2026 20:44
erkamyaman added a commit that referenced this pull request Nov 7, 2026
Adds the Release workflow from #190: run by hand on main, it runs CI on the commit, checks the changelog section, packs and verifies the tarball, publishes with provenance through npm trusted publishing, then tags and creates the GitHub release. publishing.md covers the one-time setup and keeps the manual commands as a fallback.

Copy link
Copy Markdown
Member Author

Folded into the 1.0.0 release PR, #460 (commit 33d5ee0). The workflow is unchanged. ci.yml gets the workflow_call trigger, and publishing.md is rewritten against the current page. Closing this one.


Generated by Claude Code

@erkamyaman erkamyaman closed this Nov 7, 2026
@erkamyaman erkamyaman mentioned this pull request Nov 7, 2026
5 tasks done
erkamyaman added a commit that referenced this pull request Nov 7, 2026
Sets the package to 1.0.0 and turns the changelog's Unreleased section into 1.0.0. The vite peer range is >=6, the mobile entry points stay through 1.x, and any loopback port passing the origin check is documented. Adds the Release workflow from #190: run by hand on main, it runs CI, checks the changelog, verifies the tarball, publishes with provenance through npm trusted publishing, tags the published commit and creates the GitHub release.
@erkamyaman erkamyaman mentioned this pull request Nov 7, 2026
7 of 16 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci Workflows, hooks and repository tooling area: docs The documentation site

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant