sstarcher/helm-release

Question: how to use this tool practically

Closed this issue · 1 comments

I've read the README and I get how to use the tool on a point basis, but I'm struggling to understand the full use case from an over time perspective. And here's what I mean (and correct me if any of these statements are inaccurate). Currently the tool operates by looking at git tags, finding the most recent tag associated to the commit and bumping the patch version. So my master is tagged as 0.1.0 and my development branch is based off master, so I get a 0.1.1 version. Great. But now development is ready to merge to master and become 0.1.1 and we're now ready for development to take a minor version bump. Updating the Chart.yaml to 0.2.0 doesn't impact this. I still end up with 0.1.2 for the development branch. If I tag the branch as 0.2.0 I end up with 0.2.1 for development.

I love the idea of having my Chart version be determined based on release tag, but the tool appears to only cover a specific use case. Perhaps some sort of merge between the git tag and what is referenced in the Chart.yaml? My thought is :

  • if Chart > tag, NEXT_TAG=Chart.
  • If Chart <= tag, current NEXT_TAG logic

I believe this would allow major and minor updates via the Chart.yaml and patches with git tagging. I read the other current open issue on having --bump, but I feel this is too manual and not easy from a CI perspective (plus we dont have a single repo w/ multiple chart scenario here).

Thanks!

This is not designed around a gitflow approach. This is designed around a trunk-based model.

  • Master is at 0.1.0
  • Commit is merged in and the tool will output the new version 0.1.0-1
  • Commit is merged in version is now 0.1.0-2
  • Master is tagged with 0.1.1 and the tool will output 0.1.1
  • Commit is merged in version is now 0.1.1-1
  • Master is tagged 0.2.0 and tool outputs 0.2.0
  • Commit is merged in version is now 0.2.0-0

The tool can also be used to tell what the next tag is by specifying the --bump to patch or minor.

  • If master is 0.1.0 as the last tag bump minor will give you 0.1.1 and major will give you 0.2.0

Let me know if you have any other questions.