release-mgr
A simple tool for managing software releases on GitHub.
This is a polyglot tool, so it aims to supports all kinds of Version metadata files for all languages. I've added the ones that I use every day but feel free to send a PR with the version file for your favourite programming language.
Installation
release-mgr is available on pypi:
pip3 install --user release_mgr
Usage
Usage: release-mgr [OPTIONS]
A simple tool for managing software releases on GitHub.
Options:
-v, --version TEXT Specify the version to go to
-l, --pre-release Indicates this is a pre-release
-d, --draft Indicates this is a draft release
-r, --repo TEXT The repository to create the release on in
:owner/:repo format, will attempt to parse from
git remotes if not given
-t, --title If given use the release name as the markdown
title, otherwise title is omitted for Github style
formatting
-m, --minor Bump minor version
-j, --major Bump major version
-p, --patch Bump patch version
-s, --skip-version-files Don't try to update version metadata files
(package.json, setup.py etc.)
--skip-upload Don't try to create a release on github and don't
push the commits
--help Show this message and exit.
Example run
chasinglogic@raza ~/Code/release-mgr master λ release-mgr --patch
Creating release 0.1.2 8cc48996b099bdb4d2e04e6eeb7a2598381baf68
Previous version 0.1.1 0076879f4ca72a5e30a023c5f83dbcbb34a62f58
Pre-release? False
Draft release? False
Repository chasinglogic/gh-release
============= Release Notes ============
# Release 0.1.2
- 8cc4899 fix: Return True if **any** version file is updated
- 5473ff9 fix: git/ssh urls end with .git
- 429e675 fix: Stage the version file when updated
# Contributors to this Release
- Mathew Robinson <mathew@chasinglogic.io>
Does this look correct? (y/N) y
Updated version in: pyproject.toml
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 298 bytes | 298.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To github.com:chasinglogic/release_mgr.git
8cc4899..4e89ce6 master -> master
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:chasinglogic/release_mgr.git
* [new tag] 0.1.2 -> 0.1.2
Metadata
Release files for release-mgr 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| release-mgr-0.3.1.macosx-13-x86_64.tar.gz | 17.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| release_mgr-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.2 kB
Release files / release-mgr-0.3.1.macosx-13-x86_64.tar.gz
| Download URL | release-mgr-0.3.1.macosx-13-x86_64.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a3125f7a62152a1dd57bf4cb7812bcafdf7d67ed4dcb5ced32de76859f024c07
|
|
BLAKE2b-256 checksum How to use checksums |
9192378ca823007c9fab3b908efd62799059e174c42febc76f0ef14c73eac18f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.9
|
Release files / release_mgr-0.3.1-py3-none-any.whl
| Download URL | release_mgr-0.3.1-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
58ec9de9d5bf5be9a8cb1d7324ccf154f1d991a7776f5dbfcb1364b338ec66c5
|
|
BLAKE2b-256 checksum How to use checksums |
0f424cf09e42f57fad0dd9fb6bd15189afd16dfb039322b49548fd6a60413e33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.9
|