Welcome to cookiecutter-python Discussions! #56
JaeAeich
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
👋 Welcome!
We’re using Discussions as a place to connect with other members of our community. We hope that you:
build together 💪.
To get started, comment below with an introduction of yourself and tell us about what you do with this community.
How do we plan releases, what branch model to use, ie all the tags on main or do we bifurcate it. Do we use tags only for releases or should we allow other ways ie workflow_dispatch.
Here is what I propose and some rationale.
Lets first start with validation, ie the dev (say Bob with privilege to push tags to main), pushes a wrong tag by mistake, we need to validate this tag first from single source of truth so that releases can be systematically traced back to changes in code, what I mean is if the python code has
1.1.4
as version, it would be a little stupid to publish its helm chart with a version of2.1.3
. Hence the "validation", we would want the release number of different artifact to be linked to the single source of truth (in our casepyporject.toml
).About divergence, for some reason I thought that all the releases have to happen from one tag, I could put my fingers on the fact that we can have multiple tags for different artifact release, ie
tf-1.1.3
for terraform,py-1.1.3
for pypi release,img-1.1.3
for docker release. With this we can run actions separately.So on
main
only the pypi releases (withvx.y.z
) are triggered, while on another locked branch (saydevelop
) all other release published liketestpypi
withpypi-v1.0.0
or image/docker release withdocker-v1.0.0
so on and so forth.Or we can have
main
branch based model as well where all the tags are on main and releases are triggered from there.Note: The separation of concerns with regards to branch name is important to be discussed before hand because firstly they will a pain to change if the template changes and secondly these are hardcoded in GH actions.
With that we would be able to write "validation" and git tag "sanitization" for each "artifact" and add them to their metadata and publish.
So for me the obvious missing piece was that for some reason I thought all the releases should come from the same tag as I mentioned, which is rather difficult. But given the discussion now, it would be good to discuss that how we would like our release to be on.
Do we go with
main
branch model, ie only python releases will happen on main, this will make it so that main branch only has python releases ie less cluttered main and then develop branch has all other tags. Or we go with the all tags on main branch model.Beta Was this translation helpful? Give feedback.
All reactions