Issues
Issues copied to clipboard
Config as Code: Creating a release should work for PR merge commits
Severity
No response
Version
2024.3 (all versions with CaC ?)
Latest Version
None
What happened?
It seems that creating a release of a CaC project only works for git references that are regular git branches (tags) with commits that exist on those branches at the time of release creation.
This omits and breaks at least the following two scenarios:
- Force pushing. Let's say we have a CI build which calls to Octopus to create a release passing the git branch and commit. If the branch is force pushed to after the build starts, but before the release is created, such that the commit is no longer present on the branch, Octopus will fail to create the release, because it's unable to clone/checkout the reference. This is the less important scenario - after all you could argue that the release is no longer important if the commit is removed from the branch.
- PR builds. CI environments create PR merge commits on special branches (e.g. Azure DevOps uses refs/heads/pulls/xxx/merge). Octopus is unable to create releases for these merge commits. You do call it out in the documentation where you suggest using PR source branch as the source of the release. But this is not good enough. Building and releasing the actual merge commit is exactly the kind of feature that CaC should be enabling.
Reproduction
Error and Stacktrace
No response
More Information
No response
Workaround
No response