← gitpulse
Bug Fix·Pushed May 4, 2026·S

Release workflow fixed to auto-publish CLI packages

The GitHub Actions release workflow will now correctly trigger CLI publishing and tag-moving jobs for future releases, after a bug caused the v0.1.1 release to ship without them firing.

The release workflow for the gitpulse CLI was skipping two critical post-release jobs—CLI publishing and major tag movement—leaving the v0.1.1 release incomplete. The culprit: the workflow was reading per-package outputs that don't exist when using the linked-versions plugin in release-please-action. With linked-versions, both packages in the release group share a single tag at the same version, so only the top-level outputs are emitted. The fix swaps the conditional gates to read the bare release outputs instead. Jobs that depend on [[code ref=1]]release-please.yml[[/code]] will now check [[code ref=4]]release_created[[/code]] rather than the absent [[code ref=5]]cli--release_created[[/code]]. The [[code ref=3]]move-major-tag[[/code]] job moves the v<major> floating tag automatically, and the [[code ref=2]]publish-cli[[/code]] job publishes to npm—all without manual intervention. The v0.1.1 release was handled manually as a one-time bridge. Future releases will take advantage of the corrected automation.
Technical description
The change fixes a mismatch between what outputs release-please-action provides and what the workflow expected. When the linked-versions plugin is active, release-please-action emits only three top-level outputs: [[code]]release_created[[/code]], [[code]]tag_name[[/code]], and [[code]]major[[/code]]. The per-package namespaced outputs like [["cli--release_created"]] are not emitted because the release is attributed to the linked group as a whole rather than individual packages. The release-please job now passes through only the bare outputs: ````yaml file=.github/workflows/release-please.yml outputs: release_created: ${{ steps.rp.outputs.release_created }} tag_name: ${{ steps.rp.outputs.tag_name }} major: ${{ steps.rp.outputs.major }} ```` The [[code ref=3]]move-major-tag[[/code]] job conditional was changed from checking [[code]]cli_release_created[[/code]] to [[code]]release_created[[/code]], and the tag variables were updated from [[code]]cli_tag_name[[/code]] and [[code]]cli_major[[/code]] to the bare equivalents. ````yaml file=.github/workflows/release-please.yml if: ${{ needs.release-please.outputs.release_created == 'true' }} # ... MAJOR="v${{ needs.release-please.outputs.major }}" TAG="${{ needs.release-please.outputs.tag_name }}" ```` The [[code ref=2]]publish-cli[[/code]] job received the same treatment—updating its checkout ref and conditional to use the bare outputs instead of the missing per-package ones. This was a one-line logic change in two places, but it unlocks proper automation: the v0.1.1 release required manual npm publishing and tag movement, but future releases will run these steps automatically as part of the workflow. **Files at a Glance** - [[code]].github/workflows/release-please.yml[[/code]]: Fixed release job triggers to read the correct output names from release-please-action

Categories

  • Bug Fix (85%)The workflow was failing to trigger dependent jobs due to missing output names. This fixes the incorrect conditional gates.
  • CI/CD (15%)Changes are confined to a GitHub Actions workflow file, fixing how release jobs are gated.