Skip to content

Commit 6acd703

Browse files
Merge pull request #248 from JarvusInnovations/develop
Release: v2.3.1
2 parents e24fcf7 + c4b7d3d commit 6acd703

10 files changed

Lines changed: 100 additions & 41 deletions

File tree

package-lock.json

Lines changed: 43 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/gitsheets/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"license": "Apache-2.0",
4242
"author": "Jarvus Innovations",
4343
"dependencies": {
44-
"@gitsheets/core-napi": "^0.1.0",
44+
"@gitsheets/core-napi": "^0.2.0",
4545
"csv-parse": "^6.2.1",
4646
"csv-stringify": "^6.7.0",
4747
"rfc6902": "^5.2.0",

plans/core-napi-0.2.0-release.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
status: in-progress
3+
depends: []
4+
specs: []
5+
issues: []
6+
---
7+
8+
# Ship @gitsheets/core-napi 0.2.0 and unblock the gitsheets npm release
9+
10+
## Scope
11+
12+
gitsheets v2.3.0's `publish-npm` failed: the workspace napi tests resolve platform binaries from the published `@gitsheets/core-napi` packages (optionalDependencies), which were still 0.1.x — predating #241's core marshal changes, whose tests assert the new error messages. Core changes require a core-napi release before a gitsheets release; this plan ships 0.2.0 and re-cuts the JS package as v2.3.1.
13+
14+
## Implements
15+
16+
Release engineering only; no spec changes.
17+
18+
## Approach
19+
20+
1. Bump only the consumer side: `packages/gitsheets` dep → `^0.2.0`. The napi package versions are **tag-stamped by the publish workflow** (`npm version $VERSION` from the tag name) and deliberately never committed — committing them breaks the stamp step ("Version not changed", learned the hard way on the first tag attempt).
21+
2. Tag `core-napi-v0.2.0` on develop (which carries the #241 core changes and the un-bumped 0.1.0 manifests) — the platform packages must exist on npm before the consumer-bump PR's `npm ci` can resolve.
22+
3. After publish: **sync the workspace manifests to the released version** (main + platform packages + optionalDeps — safe now; stamping only fails when the committed version equals the tag being stamped) and refresh `package-lock.json` against the live 0.2.0 packages, then merge. Without the sync, workspace tests keep resolving the previous platform binaries.
23+
4. Re-run the release flow as v2.3.1 (v2.3.0's GitHub release exists; its npm publish never landed — v2.3.1 is the npm release of the same content).
24+
25+
## Validation
26+
27+
- [ ] @gitsheets/core-napi 0.2.0 (+6 platform packages) live on npm
28+
- [x] Local fresh linux-x64-gnu build passes the 108-test napi suite
29+
- [ ] PR CI green with lockfile resolving 0.2.0
30+
- [ ] gitsheets 2.3.1 on npm; `publish-npm` green
31+
32+
## Risks / unknowns
33+
34+
- Trusted-publishing config must already cover all 7 packages (bootstrapped at 0.1.0; assumed intact).
35+
36+
## Notes
37+
38+
Lesson: core-behavior changes must bump/release core-napi in the same batch as the consuming JS release.
39+
40+
## Follow-ups
41+
42+
- Consider a CI guard: fail fast with a clear "release core-napi first" message when workspace napi tests would resolve platform binaries older than the workspace core, instead of a mid-publish test failure.

rust/gitsheets-napi/npm/darwin-arm64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gitsheets/core-napi-darwin-arm64",
3-
"version": "0.1.0",
3+
"version": "0.2.0",
44
"os": [
55
"darwin"
66
],

rust/gitsheets-napi/npm/darwin-x64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gitsheets/core-napi-darwin-x64",
3-
"version": "0.1.0",
3+
"version": "0.2.0",
44
"os": [
55
"darwin"
66
],

rust/gitsheets-napi/npm/linux-arm64-gnu/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gitsheets/core-napi-linux-arm64-gnu",
3-
"version": "0.1.0",
3+
"version": "0.2.0",
44
"os": [
55
"linux"
66
],

rust/gitsheets-napi/npm/linux-x64-gnu/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gitsheets/core-napi-linux-x64-gnu",
3-
"version": "0.1.0",
3+
"version": "0.2.0",
44
"os": [
55
"linux"
66
],

rust/gitsheets-napi/npm/linux-x64-musl/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gitsheets/core-napi-linux-x64-musl",
3-
"version": "0.1.0",
3+
"version": "0.2.0",
44
"os": [
55
"linux"
66
],

rust/gitsheets-napi/npm/win32-x64-msvc/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gitsheets/core-napi-win32-x64-msvc",
3-
"version": "0.1.0",
3+
"version": "0.2.0",
44
"os": [
55
"win32"
66
],

rust/gitsheets-napi/package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@gitsheets/core-napi",
3-
"version": "0.1.0",
4-
"description": "Node.js native binding for gitsheets-core the FFI marshalling boundary.",
3+
"version": "0.2.0",
4+
"description": "Node.js native binding for gitsheets-core \u2014 the FFI marshalling boundary.",
55
"main": "binding.cjs",
66
"types": "index.d.ts",
77
"license": "Apache-2.0",
@@ -33,12 +33,12 @@
3333
"index.d.ts"
3434
],
3535
"optionalDependencies": {
36-
"@gitsheets/core-napi-linux-x64-gnu": "0.1.0",
37-
"@gitsheets/core-napi-linux-arm64-gnu": "0.1.0",
38-
"@gitsheets/core-napi-linux-x64-musl": "0.1.0",
39-
"@gitsheets/core-napi-darwin-arm64": "0.1.0",
40-
"@gitsheets/core-napi-darwin-x64": "0.1.0",
41-
"@gitsheets/core-napi-win32-x64-msvc": "0.1.0"
36+
"@gitsheets/core-napi-linux-x64-gnu": "0.2.0",
37+
"@gitsheets/core-napi-linux-arm64-gnu": "0.2.0",
38+
"@gitsheets/core-napi-linux-x64-musl": "0.2.0",
39+
"@gitsheets/core-napi-darwin-arm64": "0.2.0",
40+
"@gitsheets/core-napi-darwin-x64": "0.2.0",
41+
"@gitsheets/core-napi-win32-x64-msvc": "0.2.0"
4242
},
4343
"scripts": {
4444
"artifacts": "napi artifacts",

0 commit comments

Comments
 (0)