|
| 1 | +# Releasing addlicense |
| 2 | + |
| 3 | +Releases of `addlicense` are done on an *ad hoc* basis when significant changes |
| 4 | +have been made. If you are unable to run addlicense at head (e.g. it's part of a |
| 5 | +GitHub workflow) and need a recent feature, please file an issue requesting a |
| 6 | +new release. |
| 7 | + |
| 8 | +## Process |
| 9 | + |
| 10 | +The release workflow is configured at |
| 11 | +[.github/workflows/release.yaml](./.github/workflows/release.yaml). A new |
| 12 | +release will be automatically created whenever any tag is pushed to the |
| 13 | +repository. (TODO: consider only matching `v[0-9]*`.) Start a release by adding |
| 14 | +a tag, then push that tag to GitHub: |
| 15 | + |
| 16 | +```sh |
| 17 | +git tag -a v1.2.3-rc0 |
| 18 | +git push origin master --tags |
| 19 | +``` |
| 20 | + |
| 21 | +The release workflow will start a Go build and create a |
| 22 | +[GitHub release](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository). |
| 23 | +You can check the status of the release workflow and investigate any errors |
| 24 | +[on the Actions page](https://github.com/google/addlicense/actions/). |
| 25 | + |
| 26 | +When the workflow finishes, check the |
| 27 | +[Releases page](https://github.com/google/addlicense/releases) and find the |
| 28 | +release for the new tag. This will have an automatic changelog list. Edit the |
| 29 | +release to highlight any major new features or other items of note. If this is a |
| 30 | +release candidate (`-rc0` suffix on the tag), check the "Set as a pre-release" |
| 31 | +box. Then publish the release! If you are creating a new release after a |
| 32 | +pre-release step, make sure the "Previous tag" is set to the prior main release |
| 33 | +when generating the release notes, e.g. create a list of changes between |
| 34 | +`v1.2.0` and `v1.3.0` rather than between `v1.3.0-rc1` and `v1.3.0`. |
0 commit comments