chore: release main - #83
Conversation
54a3407 to
45fb2e6
Compare
This comment has been minimized.
This comment has been minimized.
45fb2e6 to
632f461
Compare
This comment has been minimized.
This comment has been minimized.
632f461 to
009ecd5
Compare
This comment has been minimized.
This comment has been minimized.
009ecd5 to
ff68bad
Compare
Kody Review CompleteGreat news! 🎉 Keep up the excellent work! 🚀 Kody Guide: Usage and ConfigurationInteracting with Kody
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
…TOKEN dies ENEEDAUTH (LAB-831) (#86) ## Problem (LAB-831 / LAB-780 follow-up) The `publish-cachekit-core-wasm` job added in #85 has never successfully published. Recovery dispatch [run 30180731767](https://github.com/cachekit-io/cachekit-ts/actions/runs/30180731767) (`wasm_tag=cachekit-core-wasm-v0.1.1`, 2026-07-26) built and packed the wasm artifact fine, then died at publish: ``` npm error code ENEEDAUTH npm error need auth This command requires you to be logged in to https://registry.npmjs.org/ ``` So `@cachekit-io/cachekit@0.1.4` remains uninstallable (its hard dep `@cachekit-io/cachekit-core-wasm@0.1.1` is still a 404 on npm) — and merging release PR #83 would ship an equally uninstallable 0.1.5. ## Root cause Two stacked auth bugs in the job: 1. **The repo has no `NPM_TOKEN` secret** (repo secrets are only `APP_ID`/`APP_PRIVATE_KEY`; auth moved to npm OIDC trusted publishing — that is exactly why `publish-cachekit` succeeds with its own `NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}` resolving empty: **pnpm 11 falls through to OIDC**). The job's `Configure npm auth` step wrote an empty token into `~/.npmrc`, which `setup-node`'s `NPM_CONFIG_USERCONFIG` shadows anyway — a double no-op. 2. **`npm publish` used Node 22's bundled npm 10, which has no OIDC trusted-publishing support** (needs npm ≥ 11.5). No token + no OIDC capability = `ENEEDAUTH`. ## Fix Drop the dead token steps and publish with the exact invocation the proven `publish-cachekit` job uses: `pnpm publish --access public --provenance --no-git-checks` (pnpm 11.8 per `packageManager` does OIDC). ##⚠️ One npmjs.com setting likely still required (can't be done in this PR) `@cachekit-io/cachekit-core-wasm` has **never existed on npm**, and package-level trusted publishers can only be configured on an existing package ([npm/cli#8544](npm/cli#8544)). Creating a new package via OIDC requires an **org-level trusted publisher** on the `cachekit-io` npm org (Settings → Trusted Publishers) pointing at this repo's `release-please.yml`. If that isn't configured, the alternative is one manual first publish of `core-wasm@0.1.1`, after which package-level config takes over. (Same consideration applies to #50's broader OIDC migration.) ## After merge Re-run the recovery: `gh workflow run release-please.yml -f wasm_tag=cachekit-core-wasm-v0.1.1`, verify `npm install @cachekit-io/cachekit@0.1.4` succeeds cold, then merge #83 for 0.1.5. Consumer waiting: nem.api LAB-768 (PR 27b-io/nem.api#9). --------- Co-authored-by: multica-agent <github@multica.ai>
…e (LAB-888) (#87) ## Problem release-please's generated release PR title is uninformative: `chore: release main` (#83) — no version, no package. Since cachekit-ts is squash-merge-only with `squash_merge_commit_title=PR_TITLE`, that title becomes the permanent commit header on `main` when the release PR merges. ## Root cause (verified against release-please source, not just docs) The combined/manifest PR title uses `MANIFEST_PULL_REQUEST_TITLE_PATTERN = 'chore: release ${branch}'` (release-please `src/manifest.ts`). The `Merge` plugin (`src/plugins/merge.ts`) only populates `${component}`/`${version}` from a candidate release at `path === '.'`: ```ts if (candidate.path === '.') { rootRelease = candidate; } ... title: PullRequestTitle.ofComponentTargetBranchVersion( rootRelease?.pullRequest.title.component, this.targetBranch, rootRelease?.pullRequest.title.version, ... ) ``` None of this repo's 3 packages (`packages/cachekit`, `packages/cachekit-core-ts`, `packages/cachekit-core-wasm`) live at root path `.`, so `rootRelease` is always `null` — meaning `${component}`/`${version}` render empty **regardless of `pull-request-title-pattern` or `group-pull-request-title-pattern` configuration, and regardless of how many packages bump in a cycle**. Setting either title-pattern option to include those tokens would not have fixed anything. ## Fix `"separate-pull-requests": true` in `release-please-config.json`. Each package now gets its own release PR (only for packages with releasable changes — usually just `cachekit` per cycle), using release-please's per-component default title pattern (`chore${scope}: release${component} ${version}`), which does populate component/version since each per-package candidate carries its own. Example: `chore(main): release cachekit 0.1.5`. ## Verified - Matches `pr-title-lint.yml`'s conventional-commit regex. - Release detection in `.github/workflows/release-please.yml` reads per-path outputs (`packages/cachekit--release_created` etc.) — unaffected by combined vs. separate PRs. - No `linked-versions` plugin configured, so per-package independent versioning (already the case per `.release-please-manifest.json`) is unaffected. - Noted but out of scope: the `Assign release PR` step keys off `steps.release.outputs.pr` (first PR only) — in the common one-package-bumps-per-cycle case this is unaffected; if 2+ packages ever bump in the same cycle, only one of the resulting PRs gets auto-assigned. Not touching this here — config-file-only scope per LAB-888. ## Docs gate No docs needed: internal release-automation config only, no user-facing SDK surface. LAB-888 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated release management configuration to create separate pull requests for individual releases. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
Superseded by #88 — cachekit-ts switched to per-package release-please PRs (separate-pull-requests) so the title carries the version (LAB-888). Same release content, just retitled/resplit. |
🤖 I have created a release beep boop
cachekit: 0.1.5
0.1.5 (2026-07-26)
Features
Bug Fixes
This PR was generated with Release Please. See documentation.