-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(ci): build and publish docker image #5
Comments
@uniqueg Kanitz I propose releases to be based on git tags and git tags alone, this improves trackability of releases but raise a question of versioning. Different "artifact" have different way of versioning schema, for example dockerhub might have -slim, -ubuntu etc tags attached to version number (say x.y.z) ie x.y.z-slim while on the other hand pypi might have x.y.z format only. Initially I thought of validating all the git tags with the version mentioned in pyproject.toml which will gel well with pypi but I not sure about dockerhub and down the line with artifacthub ie version diverging from the "single source of truth" (pyporject). Any thoughts on it or how you picture the release cycle to look like. This is currently for https://github.com/elixir-cloud-aai/cookiecutter-python/issues, given I mostly see python libraries (pypi only) and API (pypi, dockerhub, artifacthub etc) we have some constraint ie its not very general and for the limited scope of the problem we might be better off with git tag based release only. So should I validate the git tag with pyproject and then create a release with that name to pypi and dockerhub. Yes it will add an overhead of doing poetry version major|minor|path before git tag . We can always give another way to create release using workflow_dispatch or released in gh actions, but again the more leeway we give the more are the chances of version divergence. |
I don't see a problem here. The different tags of the format you describe generally are for different versions of the underlying operating system, which is obviously not a concern for PyPI releases. The same version number
What do you mean? Please be more precise. What are "all the git tags" and how (and why) do you want to "validate" them?
Again, I fail to see the problem. For a given release, automated or not, wouldn't you just want to bump the version in
This is really confusing. Are you referring to a specific issue? Which one? What is it that you "mostly see", and where? What exactly are the constraints we have? And compared to what other approach do you think we might be better off with a "git tag based release only"? I feel that I really shouldn't have such a hard time deciphering what you mean - please try to write more clearly and precisely 🙏 But with the help of AI (!), I will give it a shot: Is your concern that it is hard to implement a one size fits all release process for all possible use cases and therefore we should focus on something that works for our use cases? If so, I agree 100%. This is not a project to market and distribute and convince other people to use it. It's for us and our use cases, period. And for that I think we can come up with something reasonable that is at least a good starting point. We can still always update the template or fine tune according to particular constraints/requirements in each project implementing the template.
I still don't know what "validate the git tag with pyproject" means - but yes, please go ahead with implementing releases for GitHub, PyPI and Docker Hub (that's enough for now!), based on the version specified in
Do you mean you need to run a command
As said before, we are not trying to build a "God template". It's just a strongly opinionated stack of tools and boilerplate config that is supposed to help us quickly get to where we want to go, given that we are using a pretty consistent stack of tools for building Web API-based microservices. Nothing more, nothing less. If people (and that includes ourselves) are not happy with the defaults for a given project, it will be easy to change things up according to our needs. And if we find that we consistently need to do the same changes in our releases, we know that we set the wrong defaults in the template and update it accordingly. That being said, I'm reiterating my conviction that having different builds for the same major/minor/patch version and things of that nature do not qualify as "version divergence". |
I think this is a broader discussion on releases so I have created a discussion on the same. |
I still don't quite understand this 🙈🤣 Two questions/points:
Does that work for you? And seem reasonable for you? |
CI to build and publish docker image to docker hub.
The text was updated successfully, but these errors were encountered: