@groeponline/pi-wishcraft 0.19.0 → 0.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/RELEASE.md +20 -13
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.19.1] - 2026-08-20
4
+
5
+ ### Fixed
6
+ - Release workflow publishes from the bump job. A `GITHUB_TOKEN` tag push does not start a second workflow, so waiting for the tag event left `v0.19.0` unpublished. `npm view` failures other than not-found abort; tests run on `origin/main` before the tag is cut.
7
+
3
8
  ## [0.19.0] - 2026-08-20
4
9
 
5
10
  ### Added
package/RELEASE.md CHANGED
@@ -18,9 +18,13 @@ verify it.
18
18
  ## The release flow
19
19
 
20
20
  **Default:** every merge to `main` is a release. `.github/workflows/release.yml`
21
- runs `node scripts/release.mjs auto --push` on `main`, then publishes when
22
- the `v*` tag lands. `auto` reads commit subjects since the last `v*` tag:
23
- `feat:` minor, `feat!:` / `BREAKING CHANGE` major, otherwise patch.
21
+ runs `node scripts/release.mjs auto --push` on `main` and publishes in that
22
+ same job (`scripts/npm-publish.sh`) with the GroepOnline org secret
23
+ `NPM_TOKEN`. A tag pushed with `GITHUB_TOKEN` does **not** start another
24
+ workflow, so publish cannot wait for the tag event. Manual SSH/PAT tag
25
+ pushes still run the tag job. `auto` reads commit subjects since the last
26
+ `v*` tag: `feat:` → minor, `feat!:` / `BREAKING CHANGE` → major, otherwise
27
+ patch.
24
28
 
25
29
  The first merge after `v0.18.0` therefore becomes **0.19.0** (the 0.19
26
30
  `feat:` commits are already on `main`). Later docs/fix merges become
@@ -59,18 +63,21 @@ GIT_SSH_COMMAND='ssh -F ~/.ssh/config-groeponline -o IdentityFile=~/.ssh/sheesh'
59
63
  - SSH host alias: `github.com-groeponline` (defined in `~/.ssh/config-groeponline` with `IdentityFile ~/.ssh/sheesh`, `IdentitiesOnly yes`).
60
64
  - Push actor: `chefadmin-netizen` (GroepOnline SSH). API/`gh` actor: `MisterWanted` (FG) via `chef-gh`.
61
65
 
62
- ## CI publish (on tag)
66
+ ## CI publish
63
67
 
64
- `.github/workflows/release.yml` triggers on `push: tags: ['v*']`:
68
+ `.github/workflows/release.yml` publishes from the **bump job** after tagging,
69
+ and also from a tag push (manual SSH/PAT). `GITHUB_TOKEN` tag pushes do not
70
+ start a second run.
65
71
 
66
- 1. `actions/checkout@v4`
72
+ 1. `actions/checkout@v4` (`fetch-depth: 0`, `fetch-tags: true`)
67
73
  2. `actions/setup-node@v4` (node 24, `registry-url: https://registry.npmjs.org`)
68
- 3. `npm ci --ignore-scripts` (installs devDependencies incl. `typescript`)
69
- 4. `npm run typecheck` (tsc)
70
- 5. `npm test` (node test runner)
71
- 6. `npm run verify:package` (catalog contract gate — see `scripts/verify-package.mjs`)
72
- 7. `npm publish --access public` with `NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}`
73
- 8. Echoes the Pi catalog URLs (npm, pi.dev detail page, `?name=wishcraft`, `?name=groeponline`) for post-publish confirmation
74
+ 3. Fetch and `git reset --hard origin/main` (bump job only; tests the tree that will be tagged)
75
+ 4. `npm ci --ignore-scripts` (installs devDependencies incl. `typescript`)
76
+ 5. `npm run typecheck` (tsc)
77
+ 6. `npm test` (node test runner)
78
+ 7. `npm run verify:package` (catalog contract gate see `scripts/verify-package.mjs`)
79
+ 8. `node scripts/release.mjs auto --push` (main only)
80
+ 9. `sh scripts/npm-publish.sh` with `NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}` (fail-closed `npm view`, idempotent skip, then the Pi catalog URLs)
74
81
 
75
82
  `NPM_TOKEN` is the GroepOnline **org** Actions secret (publish rights to the
76
83
  `@groeponline` scope). This repo has no override; Actions inherits the org
@@ -130,7 +137,7 @@ A release is "done" when all four hold: local green, tag on origin, CI
130
137
  ## Versioning
131
138
 
132
139
  Feature PRs **do not bump** `package.json`. They stay on the last published npm
133
- version (today: `0.18.0`) and append under `## [Unreleased]` in `CHANGELOG.md`.
140
+ version (today: `0.19.0`) and append under `## [Unreleased]` in `CHANGELOG.md`.
134
141
  The bump happens on `main` in the release workflow, not in the feature PR.
135
142
 
136
143
  Never bump in the same PR as the feature work. Never tag from a stacked
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groeponline/pi-wishcraft",
3
- "version": "0.19.0",
3
+ "version": "0.19.1",
4
4
  "description": "Wishcraft cockpit for the pi coding agent — powerline status, vibes, idea inbox, bash mode, and full customization.",
5
5
  "type": "module",
6
6
  "files": [