Skip to content

fix(release): derive tag from package.json and publish in the same run - #73

Merged
dmchaledev merged 2 commits into
mainfrom
fix/release-pipeline
Aug 7, 2026
Merged

fix(release): derive tag from package.json and publish in the same run#73
dmchaledev merged 2 commits into
mainfrom
fix/release-pipeline

Conversation

@dmchaledev

Copy link
Copy Markdown
Contributor

Closes #26

Three defects fixed

  1. Publish never fired: tag pushes used GITHUB_TOKEN, which cannot trigger publish.yml (GitHub blocks workflow re-entry from token-created events). auto-tag.yml now publishes in the SAME run after tagging.
  2. Version divergence: the tagger derived the next version from the latest v* git tag (v0.0.x), diverging from package.json (1.0.1) forever. package.json is now the source of truth; the tag is its next patch.
  3. Silent overwrite: publish.yml (manual fallback) now warns when a tag version disagrees with package.json.

Note

NPM_TOKEN secret doesn't exist on the repo yet — the publish step warns and skips gracefully when absent (tag is still created). Add the secret to enable actual npm publication.

Hermes Agent added 2 commits August 7, 2026 13:48
Closes #56

Dev/test dependencies inflated diffs and tripped --fail-on gates, and the
CycloneDX scope field was silently dropped — there was no way to gate on
runtime risk only.

- Parser: extract CycloneDX component scope (required/optional/excluded)
- CLI: new --runtime-only flag filters dev/test (scope=optional/excluded)
  components out of the diff and the gate; unset scope = runtime (CDX
  default) and is kept
- Help text documents the flag
- 3 new tests: scope parsing, flag parsing, default false

115 tests pass, tsc clean.
Closes #26

Three compounding defects in the release machinery:

1. Tag pushes used GITHUB_TOKEN, which cannot trigger publish.yml (GitHub
   blocks workflow re-entry from token-created events) — publish never fired.
   Now auto-tag.yml publishes in the SAME run after tagging.
2. The tagger derived the next version from the latest v* git tag (v0.0.x),
   diverging from package.json (1.0.1) forever. Now package.json is the
   source of truth and the tag is its next patch.
3. publish.yml (manual fallback) now warns when a tag version disagrees
   with package.json instead of silently overwriting.

NPM_TOKEN secret doesn't exist on the repo yet: the publish step warns and
skips gracefully when it's absent (tag still created). Add the secret to
enable actual npm publication.
@dmchaledev
dmchaledev merged commit f74fe5b into main Aug 7, 2026
2 checks passed
@dmchaledev
dmchaledev deleted the fix/release-pipeline branch August 7, 2026 19:53
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.

Release pipeline is broken: auto-tag versions diverge from package.json (0.0.x vs 1.0.1) and tag pushes never trigger publish

1 participant