You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 041fe19
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: .agents/docs/release.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,9 @@ TaffyJS has two independently dispatched release groups. Core publishes `@taffyj
6
6
7
7
Dispatch `Publish Core` or `Publish Yoga` from `main`. The default `auto` bump reads Conventional Commits that changed the selected group's owned paths since its previous tag. A feature or breaking change selects a minor bump; a fix, performance change, or revert selects a patch bump. An explicit patch or minor override exists for an intentional release whose commit type does not carry a bump. A group's first stable plan is always `0.0.1`.
8
8
9
-
The dispatch is the sole human authorization. Build jobs have read-only repository access and no npm identity. Ordinary pull requests retain the Linux x64 GNU and Windows x64 MSVC native runtime jobs and the complete Wasm verification graph; they do not build macOS or any other publication artifact. The publication workflows run the complete Wasm package verification graph, and Core publication is the only place that builds all 13 supported native release targets. The assembly job downloads every required build artifact, requires the exact target or package set, writes final metadata, packs the public packages, records each tarball integrity, and installs those same tarballs in a fresh consumer. Only the final job receives `id-token: write`; it publishes the verified tarballs in dependency order, verifies each published version against its assembled integrity, then pushes the group tag and writes the release notes into the workflow summary. The workflow creates no GitHub Release.
9
+
The dispatch is the sole human authorization. Build jobs have read-only repository access and no npm identity. Ordinary pull requests retain the Linux x64 GNU and Windows x64 MSVC native runtime jobs and the complete Wasm verification graph; they do not build macOS or any other publication artifact. The publication workflows run the complete Wasm package verification graph, and Core publication is the only place that builds all 13 supported native release targets. The assembly job downloads every required build artifact, requires the exact target or package set, writes final metadata, packs the public packages, records each tarball integrity, and installs those same tarballs in a fresh consumer. Only the final job receives `id-token: write`; it preflights the complete package group, publishes the missing verified tarballs in dependency order, then pushes the group tag and writes the release notes into the workflow summary. The workflow creates no GitHub Release.
10
10
11
-
Publishing is not transactional. A retry uses the retained bundle: a package version already present with the same integrity is skipped, a different integrity stops the release, and missing packages continue in dependency order. Before the first npm write, the workflow requires the group tag to be absent or already point to the bundle commit; it verifies that identity again after pushing the tag, and the tag is pushed only after the complete npm group reaches the registry. Nothing is installed from the registry afterwards: npm serves a new version from its exact-version endpoint immediately but refreshes the package index that installers read a few minutes later, and a check placed after an irreversible publication cannot prevent a bad release. The assembly job's consumer install is the test that gates publication. Workflow concurrency never cancels an in-progress publication.
11
+
Publishing is not transactional. Every attempt first checks the complete retained bundle against npm: a package version already present with the same integrity is skipped, a different integrity stops the attempt before any new package is written, and every missing package is then published in dependency order. A successful `pnpm publish` command is the write boundary. Registry reads are eventually consistent, so the workflow neither re-reads nor installs a package after a successful publication; a command failure stops the attempt, and rerunning the same failed job repeats the complete preflight before resuming from the retained bundle. Before the first npm write, the workflow requires the group tag to be absent or already point to the bundle commit; it verifies that identity again after pushing the tag, and the tag is pushed only after every required publish command succeeds. The assembly job's consumer install is the test that gates publication. [Core publish job 97179548726](https://github.com/hyfdev/taffyjs/actions/runs/32633281695/job/97179548726) is durable evidence for the eventual-consistency trap: npm accepted a package while the exact-version read remained unavailable beyond the workflow's retry window and later exposed the expected integrity. Workflow concurrency never cancels an in-progress publication.
0 commit comments