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
Copy file name to clipboardExpand all lines: RELEASE.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Release Workflow
2
2
3
-
OpenSwarm releases are GitHub Release driven. The release tag, npm package version, lockfile version, and Python project metadata must use the same version.
3
+
OpenSwarm releases use one normal path: `Build TUI Binaries` builds the required assets, publishes the GitHub Release, then publishes `@vrsen/openswarm` to npm in the same workflow run. The release tag, npm package version, lockfile version, and Python project metadata must use the same version.
4
4
5
5
## Release Inputs
6
6
@@ -19,12 +19,15 @@ OpenSwarm releases are GitHub Release driven. The release tag, npm package versi
19
19
2. Merge the version bump to `main`.
20
20
3. Run the `Build TUI Binaries` workflow from the `main` branch in GitHub Actions. Leave `version` blank to use `package.json`, or pass the exact version without the `v` prefix.
21
21
4. Confirm the workflow creates `vX.Y.Z` with all required binary assets.
22
-
5. Let `Publish npm on Release` publish `@vrsen/openswarm` from the release tag.
22
+
5. Let the downstream npm publish job in the same workflow publish `@vrsen/openswarm` from the release tag.
23
23
24
-
Pushing a matching `vX.Y.Z` tag also runs the binary release workflow, but the manual workflow is the preferred path because it builds assets and publishes the GitHub Release in one run.
24
+
Pushing a matching `vX.Y.Z` tag also runs the binary release workflow. The manual workflow is the preferred path because it builds assets, publishes the GitHub Release, and publishes npm in one run.
25
+
26
+
GitHub releases created with `${{ github.token }}` do not start separate `on: release` workflows. `Fallback Publish npm on Release` exists only for releases that are published manually, externally, or through an API token that can trigger release workflows. It is not the normal release path.
25
27
26
28
## Release Gates
27
29
28
30
- The binary release workflow fails if the tag/input version does not match `package.json`, `package-lock.json`, and `pyproject.toml`.
29
-
- The npm publish workflow fails if the GitHub Release is missing any required TUI binary asset.
31
+
- The npm publish job fails if `NPM_TOKEN` is missing, versions do not match, or the GitHub Release is missing any required TUI binary asset.
32
+
- The fallback npm publish workflow runs the same key checks for manually or externally published releases.
30
33
- The npm package uses `publishConfig.access=public` so scoped publishes do not depend on CLI flags alone.
0 commit comments