Skip to content

๐Ÿ““ Automatic Semantic Versioniser & ๐Ÿ“‘Change Tracker. โžฅ This tool can be easily integrated with any git project through Github Actions to take the burden of manual updating of software versions from developers entirely.

License

Luzkan/GitVersioniser

GitVersioniser

Automatic Semantic Versioniser & Change Tracker [0.6.1]

Hey! ๐Ÿ˜ธ

This repository contains a tool for automatic git repository versioning. It can be quickly introduced to any repository via Github Actions. If you ever felt too lazy to create individual tags for each change in your project, this tool will be handy.

Table of Contents

  1. Features
  2. How can I run this?
  3. How can I use this?
  4. How can I contribute?
  5. Benefits
  6. Explore More!

โœจ Features


๐Ÿš€ How can I run this?

Copy the GitVersioniser.yml to the .github/workflows/ in your repository!


๐Ÿ™Œ How can I use this?

  • You can start start any line in message with A: (added), F: (fixed), R: (removed), ... etc., to tag the action you did, which will create corresponding changelog entry.
  • You can add #major, #minor, #patch, ... etc., to increment version of the repository. src\gitversioniser\config\patterns\commit_change_tags\changelog_category.py

๐Ÿค” How can I contribute?

If you would like to contribute, you are more than welcome by opening a new discussion on the issues or directly adding changes by opening new merge requests.


๐Ÿ’ฐ Benefits

First and foremost - this tool will automatically create new semantic version tags for your repository. It will increment the build version by default, but you can choose what will get bumped using the increment tags. GitVersioniser will automatically add the version tag to the commit message in the default version, which gives an excellent overview of which files were when modified.

Using this repository out-of-the-box gives you a free, automatically managed CHANGELOG.md file. It uses prefix tags that are one-letter shorthands of the joint summarization of a commit. This will encourage the developers to create tiny and descriptive commits. Additionally, there will be no more fights over the usage of imperative "Fix" or declarative "Fixed". Everyone can add the rest individually in their thoughts to their liking.

This repository is written to be understood as easily as reading documentation.


๐Ÿ”ญ Explore More!

If you want to adjust the way of working to your liking, feel free to check the available options! Because we are the developers, I believe that the documentation for us is just duplicated code. Thus, I encourage you to trust the communicative method names and see the options through code for yourself! ๐Ÿฑ

Hint: Think about the repository as a device that can be entirely customized by the flavor-modules you choose to plug-in. Simply copy the class name and replace it in yml config.

Version based on:

Changelog based on:

For more available options, check out the FEATURES.md file!