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
[BUG] release: workflow reports success on no-op when no changeset in merge #55
The Release workflow (.github/workflows/release.yml) reports success when the merge into main does not contain any .changeset/*.md. From the GitHub UI the run appears green, but no publish, no tag, and no GitHub Release are produced. The release engineer has no signal that the workflow was effectively a no-op.
This was first observed on PR #52 (release/1.3.0 -, merged 2026-08-04): the workflow ran in ~30s with status success but @deessejs/errors was not published. It took ~20 minutes of investigation (running gh api .../jobs and checking per-step conclusion=skipped) to discover the no-op.
Steps to Reproduce
Open a release PR release/vX.Y.Z - whose branch already has pnpm changeset version consumed (i.e. version bump and changelog edit are baked into the merge commits, but .changeset/*.md files have already been deleted from the working tree before merge).
Merge the PR into main.
Observe the Release workflow on the merge commit.
Wait for the run to complete.
Confirm no Git tag (@deessejs/errors@X.Y.Z) is pushed and no GitHub Release is created.
Confirm the workflow run status is success.
Expected Behavior
The Release workflow should make the no-op case visible:
Either finish with status neutral (or success annotated) when has_changesets=false and the trigger was a PR merge.
Or fail with a clear error message.
Add a job-level output (e.g. skipped=true) and a step summary so the release engineer can see the reason without inspecting raw job JSON.
Actual Behavior
The job ends with success. All gated steps show conclusion=skipped in the API but the overall run is green. From the GitHub UI it looks like the release happened.
Environment
Node.js: 24 (runner default)
pnpm: 10.34.5
OS: GitHub-hosted Ubuntu runner
Affected workflow: .github/workflows/release.yml
Suggested Fix
Add a final step in the job with if: always() that fails explicitly when has_changesets is false.
Activity