Description
We're using semantic-release to automate releases, and a safeguard correctly detected that the local (action worker) alpha branch was behind the remote. As expected, this prevented a new version from being published. However, the CI continued to execute follow-up steps such as updating the installer and documentation. This led to inconsistencies that were only resolved by a subsequent release.
Steps to Reproduce
- Merge a commit to the
alpha branch that triggers a release (e.g. a fix commit).
- While the CI build for that commit is still running, merge another release-triggering commit to the same
alpha branch.
- Observe the behavior of the semantic-release process in the first CI run.
Expected Behavior
The CI process should behave in one of the following ways:
-
Option A (Preferred): Semantic-release should still publish a release using the local commits (those already merged into the branch and currently being built), treating them as authoritative and valid for tagging.
-
Option B (Fallback): If Option A isn't feasible, then the CI job should fail cleanly and terminate the pipeline before performing any post-release actions (such as updating the installer or documentation).
Additional Context
Description
We're using
semantic-releaseto automate releases, and a safeguard correctly detected that the local (action worker)alphabranch was behind the remote. As expected, this prevented a new version from being published. However, the CI continued to execute follow-up steps such as updating the installer and documentation. This led to inconsistencies that were only resolved by a subsequent release.Steps to Reproduce
alphabranch that triggers a release (e.g. a fix commit).alphabranch.Expected Behavior
The CI process should behave in one of the following ways:
Option A (Preferred): Semantic-release should still publish a release using the local commits (those already merged into the branch and currently being built), treating them as authoritative and valid for tagging.
Option B (Fallback): If Option A isn't feasible, then the CI job should fail cleanly and terminate the pipeline before performing any post-release actions (such as updating the installer or documentation).
Additional Context
semantic-release@24.2.9