feat(release): nx release pipeline with npm provenance for v1 packages#131
Closed
blove wants to merge 14 commits into
Closed
feat(release): nx release pipeline with npm provenance for v1 packages#131blove wants to merge 14 commits into
blove wants to merge 14 commits into
Conversation
Insert a build step for agent, render, and chat libs immediately before the publish step on the tag-push path; dist/ dirs are not present without it since preVersionCommand only runs during nx release version. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
scope-enum alone does not require a scope; it only validates when one is present. Add scope-empty: [2, 'never'] so scope-less commits are rejected, matching the intent of the existing comment. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ORIGINAL_NPM_CONFIG_REGISTRY was captured but never referenced anywhere in the script; remove it to eliminate dead code. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
4 tasks
Contributor
Author
|
Closing as obsolete. The npm scope rename @cacheplane → @Ngaf, package restructure (libs/agent removed), and the publish.yml + nx release setup that landed via subsequent PRs together supersede the work in this PR. The release pipeline is now operational on main (currently shipping at @ngaf/* 0.0.28). If commitlint/husky or the verdaccio smoke harness become priorities, they can be revived from this PR's history as standalone changes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stands up the complete release pipeline for v1 publish of
@cacheplane/angular,@cacheplane/render,@cacheplane/chat. Implements the plan atdocs/superpowers/plans/2026-04-18-release-infrastructure.md.What's in
.husky/commit-msg), CI check on PRs (.github/workflows/commitlint.yml). Scope is required and restricted to the repo's surface area.<pkg>@v<version>, auto-update of internal peer dep ranges (preserveMatchingDependencyRanges: false+updateDependents: always), Keep-a-Changelog per library, GitHub Release creation..github/workflows/release.ymltriggered onagent@v*/render@v*/chat@v*tags, publishes with npm provenance via OIDC. Oldpublish.ymlremoved.scripts/verify-release-local.shruns the full pipeline against a local Verdaccio registry in under a minute.docs/release-runbook.mdwith standard release flow,--first-releasenote, manual dispatch recovery path, troubleshooting, and version policy.What's out of scope (follow-up plans)
@cacheplane/chatpeer deps on the non-v1@cacheplane/a2ui+@cacheplane/partial-json→ chat stabilization planNotable implementation deviations from plan
preserveMatchingDependencyRangesandupdateDependentslive atversion.*level, not insidegeneratorOptionsas the plan text suggested.nx run-many -t buildstep inrelease.yml(caught in final review; plan had implicit build assumption).scope-empty: 'never'— added to commitlint to match the "scope required" intent the comment claimed.--first-releaseguidance — added to runbook step 2 after dry-runs surfaced the missing-tag warning.Test plan
./scripts/verify-release-local.sh) passes end-to-endnx release version --dry-runproposes correct bumps (0.0.1 → 0.1.0 for all three libs)scope-empty: neverrejects scope-less commits🤖 Generated with Claude Code