reporeleaser
Create a new release for your repository, with a commit changelog.
This will create a new release for your repository.
In the description of that release it will list all commits since the last release.
Installation
python3 -m pip install -U reporeleaser
Example usage
reporeleaser --token aaabbbccc111222333 --repo reporeleaser --release minor
This example will create a new release for reporeleaser
with this information:
Tag name: 0.1.0
Release name: 0.1.0
Release description:
## Changes
- Use regex to find previous tag
- Fix error handing for missing regex match
- Split code into multiple methods
- Create default tag_sha for last_release
- Add failsafe for new_commits
- use username and not name
- Use login not username
- correct versioning for major / minor
[Full Changelog][changelog]
***
This release was created with [reporeleaser][reporeleaser] :tada:
[reporeleaser]: https://pypi.org/project/reporeleaser/
[changelog]: https://github.com/ludeeus/reporeleaser/compare/0.0.4...0.1.0
NB!: it is recommended to run it one time with --test
option to make sure the data is correct.
CLI options
--token
option A personal access token for your GitHub account.
This token needs at least access to the repo\public_repo
scope.
You can create a new token in the Developer settings.
You should have 1 access token pr integration you use.
Example: --token aaabbbccc111222333
--repo
option The name of the repository you are creating a release for.
The structure needs to be ludeeus/reporeleaser
, if this repository are on your user
account, you can just use reporeleaser
.
Examples:
--repo ludeeus/reporeleaser
--repo reporeleaser
--release
option This is the type of release you are doing, this will be used to create the new tag with the correct version number.
Possible values:
major
minor
patch
If you do not follow this schema for you tags you can use a custom one.
Example: --release patch
Example for custom: --release v.1.1.1
--test
option This option is a flag.
When this is enabled, a release will not be created/published.
This will print to the console how the release will look, giving you a chance to look things over.
--draft
option This option is a flag.
This creates a release draft instead of publishing the release, this can be useful if you need to add more/change the text in the release description.
--prerelease
option This option is a flag.
This creates a release pre-release instead of publishing the release.
--show_sha
option This option is a flag.
When this is enabled every commit line in the release description will be prefixed by the first 7 characters in the sha, which GitHub turns in to a link to that commit.
An example of this can be seen here https://github.com/ludeeus/reporeleaser/releases/tag/0.3.0
--title
option The name you want to use for your release, this defaults to the tag name.
If your name contains spaces you need to add quotes around it.
Example: --title "My Release Title
--hide_footer
option This option is a flag.
By default this will be added to the bottom of every release created with this tool.
***
This release was created with [reporeleaser][reporeleaser] :tada:
[reporeleaser]: https://pypi.org/project/reporeleaser/
You create releases for your projects, so you should be in control, but it's much appreciated if you leave this in.
By enabling this flag, this will not be added.
--hide_full_changelog
option This option is a flag.
By default this will be added to the bottom of every release created with this tool.
The link will automatically be updated to match the repository and the correct diff for this release.
[Full Changelog][changelog]
[changelog]: https://github.com/ludeeus/reporeleaser/compare/1.0.0...1.1.0
By enabling this flag, this will not be added.
--version
option This option is a flag.
Prints the installed version of reporeleaser
.
--help
option Show available options.