-
-
Notifications
You must be signed in to change notification settings - Fork 54
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
Request: add semantic versioning tags and releases to project #123
Comments
@arrrgi Thanks for the suggestion. Could you link to the mentioned config? I will look into it and see what I can do. |
This CI action for release updates to Galaxy is the one I see Jeff is using across quite a few of his repos: https://github.com/geerlingguy/ansible-role-rabbitmq/blob/master/.github/workflows/release.yml I use commitizen and pre-commit as part of my local dev toolchain to keep me honest as it's not quite a muscle memory yet for me to format my commit messages. I think both tools are well worth checking out if you think they'd be valuable to help you stick to using semantic versioning. |
I love a bit of well thought out code that uses the tool the way the developers intended. Great job! |
@arrrgi as far as I understand you suggest using The release-part (after having created a new release with a tag) could still be done with |
In my workflow, I'm bumping versions whenever I think is most appropriate rather than having that automated in an action. Eg. I might start work on a new feature branch, committing and pushing regularly, I will do a few tests and might need to add a few fix commits as I'm debugging, and when I'm happy with the feature or my changes, I'll run Your own git workflow will be what you are most comfortable with and the velocity you work at. |
Started playing with |
@arrrgi Do you have an example of using I still am researching and learning, didn't yet find much time do come up with something useful. The project is rather static ... not many devs, not many changes and PRs, so I wonder how much complexity to add and if it's worth the effort. Sure, it makes sense to standardize things etc. But I admit that I still don't fully understand if it helps to use I consider adding a Thanks for the suggestions anyway: this is also kind of a learning project. |
@arrrgi have a look at this branch: it uses an action in It created a tag and an entry in Looks promising to me. Suggestions welcome. |
I don't have anything of my own published to Galaxy, but for my Ansible projects, I'm managing my projects as if they were just Python. Have sent you an invite to one of my private repo's so you can see how I'm managing versioning. tl;dr version - I use a combination of Poetry and Commitizen to manage my Ansible projects.
If I read your action correctly, then it would appear you want to bump versions with every push to |
Thanks for sharing.
I currently play with testing stuff locally using act ... interesting, but adds even more complexity right now ;-) |
Poetry isn't strictly limited to Python only projects. This works really well for me in conjunction with Renovate bot on my Ansible project repo's to keep my Galaxy imports and prod / dev tool dependencies updated from the upstream releases, which coincidentally, is why I raised this request to begin with 😄 |
That's because I'm not running any molecule tests against my collection/project - I have a lab that I use to test locally with on physical machines. I'll probably add some CI tasks later down the track for
pre-commit and cz are great to run locally in your development environment to ensure you are at least meeting the bare minimum standards, they're just linters run by git-hooks which will help you keep obvious things out of your CI process by stopping them before they make it into your Git remote, and if you're limited on free GH Actions hours, then may as well have it doing high value tasks like your tests and leave linting to your local environment What about collaborators who don't actually install pre-commit, cz and the git hooks? This is where it's useful then to have commitizen and ansible-lint in your GH Actions, this combined with protected branches can help you enforce some of your standards for collaborators if you feel that way inclined. |
Understood! So basically all this means that I learn about using pre-commit, commitizen and how to use tags ;-) |
@arrrgi release with tag triggered.
If you agree, we might close this issue then. Thanks. Optionally we can continue discussing further improvements. |
Nice, I've closed this issue now as I can see a release with that version on Ansible Galaxy now. Great work! |
Thanks for that, your request and the help along the way. Appreciated it. |
Hi @stefangweichinger
Just an idea that will probably help folks using your great role. I think it would be useful learning experience to setup semantic versioning and releases with tags and a Github action for your repo.
@geerlingguy (who I note uses your role too) has an existing config you might consider re-using to do the same.
This helps us folks who import and lock specific versions of roles that are known to work in our own projects from Galaxy, ie.
The text was updated successfully, but these errors were encountered: