Skip to content
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

Releases and release automation #906

Open
gegoune opened this issue Apr 14, 2022 · 0 comments · May be fixed by #1923
Open

Releases and release automation #906

gegoune opened this issue Apr 14, 2022 · 0 comments · May be fixed by #1923

Comments

@gegoune
Copy link
Contributor

gegoune commented Apr 14, 2022

I would like to discuss acceptable approaches for automating releases.

If you want I can come up with PR for couple of GitHub action workflows automating creation of releases.

Release automation

One solution immediately coming to mind is release-please-action. Should we go with that action all new commits would have to follow conventional commit specification. It's very simple, powerful and widely adopted. There are actions like conventional-pr-title-action ensuring no wrongly titled PR make its way to main branch. Also git hooks can be used to enforce that.

way forward

The way it would work is that at some point you cut the release, whatever version you feel like nvim-cmp is at the moment, be it v0.1.0, v1.0.0 - up to you. From that point onwards conventional commits will serve as a way to build future versions and changelogs. Once please-release notices valid commits in main branch it will create release PR for you and nothing else will happen. You can continue pushing to main and release PR will get updated with new commits (changelog and version of new release).

  • if only fix type of commits appear after previous release release-please will bump patch version
  • if you include any feat commits then minor version will be bumped
  • if feat!, fix!, or BREAKING CHANGE in commit message, commits are present then minor version will be bumped and generated changelog will include big-fat section pointing to breaking commit

At this point you are free close/ignore any complaints about breaking changes on main as users would be expected to live with them or pin nvim-cmp to latest release.

Whenever you are happy with state of main you can simply just merge release-please PR and it will create new release for you.

I am very happy to help you out with that, can create PR if you want me to.

Have a good day!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants