No reliance on release branch
leojonathanoh opened this issue · 0 comments
Current
Reliance on release
branch
Expectation
No reliance on release
branch.
Discussion
Currently, the workflow is git checkout release && git merge --no-ff master && git push
and that will be the automated release https://github.com/theohbrothers/docker-alpine/blob/20211012.0.0/.github/workflows/ci-master-pr.yml#L1314-L1401. However, in particular one severe weakness is the converge-master-and-release-branches
where the idea is that the HEAD
of release
will be merged into master
at the end of a release pipeline. The problem with this is that if an PR was merged into master
anytime during the release
pipeline, the convergence will fail and the pipeline fails, resulting in no desired convergence assumed by the workflow.
Hence a better way is to not even have divergence from master
, by removing the need for release
branch completely:
master
andpr
: Typical workflowtags
for releases
-.vscode/tasks.json
task can do agit tag <calver> && git push --tag
- A automated release job can do the equivalent of
git tag <calver> && git push --tag
- A automated release job can do the equivalent of
Benefits:
- Familar workflow with
master
/pr
- No need for
release
branch - Generic ci means reusable ci configs for other projects. E.g. startersclan/docker-steamcmd#7