Skip to content

chore(release): bootstrap 0.1.2 recovery#53

Merged
27Bslash6 merged 1 commit into
mainfrom
chore/release-0.1.2
May 17, 2026
Merged

chore(release): bootstrap 0.1.2 recovery#53
27Bslash6 merged 1 commit into
mainfrom
chore/release-0.1.2

Conversation

@27Bslash6
Copy link
Copy Markdown
Contributor

@27Bslash6 27Bslash6 commented May 17, 2026

Summary

Manually applies what release-please would have done if the docs-only trigger commit in #52 had been a "user-facing" type. Release-please skips docs/chore/ci/etc. commits even when Release-As: is present — Release-As: overrides the version, not the release-trigger gate.

Rather than fake a fix: commit (which would have been dishonest, per the feedback on #52's earlier draft), this PR bypasses release-please entirely for the one-time recovery. Future releases use the normal release-please flow.

What changes

File Change
.release-please-manifest.json Both packages bumped to 0.1.2 so release-please future runs treat 0.1.2 as the last released state
packages/cachekit/package.json version: 0.1.1 → 0.1.2
packages/cachekit-core-ts/package.json version: 0.1.1 → 0.1.2
packages/cachekit/CHANGELOG.md New ## [0.1.2] section explaining the 0.1.1 → 0.1.2 history
packages/cachekit-core-ts/CHANGELOG.md Same

Manual steps after this merges

  1. Tag the merge commit and push:

    git checkout main && git pull
    git tag cachekit-v0.1.2 -m "@cachekit-io/cachekit 0.1.2"
    git tag cachekit-core-ts-v0.1.2 -m "@cachekit-io/cachekit-core-ts 0.1.2"
    git push origin cachekit-v0.1.2 cachekit-core-ts-v0.1.2
  2. The cachekit-core-ts-v0.1.2 tag triggers build-native.yml → publishes @cachekit-io/cachekit-core-ts@0.1.2 + creates all 5 platform packages on npm (napi flag fix from fix(ci): use --output-dir instead of removed --artifacts-dir napi flag #51 is in place).

  3. workflow_dispatch release-please.yml with force_release: true → publishes @cachekit-io/cachekit@0.1.2. The release-please job inside will skip (no user-facing commits since 0.1.1), but the publish-cachekit job has force_release == 'true' as a fire condition and will check out github.sha (main HEAD, now 0.1.2) and publish.

  4. Verify all 7 packages exist on npm:

    for pkg in @cachekit-io/cachekit @cachekit-io/cachekit-core-ts \
               @cachekit-io/cachekit-core-ts-linux-x64-gnu \
               @cachekit-io/cachekit-core-ts-linux-arm64-gnu \
               @cachekit-io/cachekit-core-ts-darwin-x64 \
               @cachekit-io/cachekit-core-ts-darwin-arm64 \
               @cachekit-io/cachekit-core-ts-win32-x64-msvc; do
      echo "$pkg: $(npm view "$pkg" version 2>&1)"
    done
  5. Configure trusted publishers on npmjs.com for each of the 7 packages.

  6. Take ci: switch npm publish to OIDC trusted publishing (removes NPM_TOKEN) #50 out of draft and merge it. Next release uses OIDC; no NPM_TOKEN needed.

  7. Delete the NPM_TOKEN repo secret.

Why this isn't tagged by release-please

Release-please reads the manifest to know what was last released and proposes the next version from commit history. Once the manifest claims 0.1.2 is already released, release-please will look for commits after this PR for the next release. No release PR will be generated for 0.1.2 — that's the whole point of the manual bootstrap.

Test plan

  • pnpm install confirms lockfile already in sync (workspace deps use workspace:*)
  • CI green on this PR
  • After merge: manually tag + push (step 1 above)
  • Verify build-native.yml run on the tag succeeds end-to-end (including the previously-broken artifact-move step)
  • Verify workflow_dispatch release-please publish-cachekit succeeds
  • Verify all 7 packages on npm at 0.1.2

Summary by CodeRabbit

Release Notes

  • Chores

    • Released version 0.1.2 for cachekit and cachekit-core-ts packages.
    • Updated minimum Node.js requirement to version 22+.
  • Documentation

    • Added documentation covering platform packages and N-API surface.
    • Updated changelog entries with release details and version jump explanation.

Review Change Stack

Manually applies what release-please would have done if the docs-only
trigger commit in #52 had been a "user-facing" type (release-please
skips docs/chore/ci/etc. even when Release-As: is present — Release-As
overrides version, not the release-trigger gate).

- Bumps both packages to 0.1.2 in package.json
- Bumps .release-please-manifest.json to claim 0.1.2 for both, so
  release-please future runs treat 0.1.2 as the last released state
- Adds CHANGELOG entries documenting the 0.1.1 → 0.1.2 history:
  why 0.1.1 was tagged but never published (PR #45 + PR #51 bug
  recovery), what consumers should expect

After this merges:
1. Manually tag cachekit-v0.1.2 and cachekit-core-ts-v0.1.2 on the
   merge commit, push tags
2. cachekit-core-ts-v0.1.2 tag triggers build-native.yml → publishes
   the main core-ts package + creates all 5 platform packages
3. workflow_dispatch release-please.yml with force_release: true
   → publishes @cachekit-io/cachekit@0.1.2 (release-please job will
   skip; force_release path checks out github.sha and publishes
   whatever main HEAD says, which is 0.1.2)
4. After all 7 packages exist on npm, configure trusted publishers
5. Take PR #50 out of draft and merge it
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 17, 2026

📝 Walkthrough

Walkthrough

Version 0.1.2 is released across two packages. The release manifest and package metadata are updated to reflect the new version, and comprehensive changelog entries document the fixes and changes in this release, including CI publish authentication resolution, Node.js runtime requirement updates, and the inclusion of all native platform packages.

Changes

Version 0.1.2 Release

Layer / File(s) Summary
Version manifest and package.json updates
.release-please-manifest.json, packages/cachekit-core-ts/package.json, packages/cachekit/package.json
Release manifest and both package.json files are bumped from 0.1.1 to 0.1.2.
Release notes and changelog entries
packages/cachekit-core-ts/CHANGELOG.md, packages/cachekit/CHANGELOG.md
Changelog entries document the fix for npm publish CI authentication failure, first published release with all native platform packages, Node.js 22+ requirement, and transitive devDependency CVE patching via pnpm.overrides.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A version bump hops through the land,
0.1.2 now stands so grand,
CI fixed, platforms united, Node engines run fleet,
Release notes tell the story complete!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'chore(release): bootstrap 0.1.2 recovery' directly and clearly describes the main purpose of this PR—manually bootstrapping a recovery release for version 0.1.2 that was skipped due to a docs-only commit. It aligns perfectly with the changeset, which bumps versions and updates release artifacts.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

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

@27Bslash6 27Bslash6 merged commit e325923 into main May 17, 2026
14 checks passed
@27Bslash6 27Bslash6 deleted the chore/release-0.1.2 branch May 17, 2026 09:01
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