Release a new version of a software based on CHANGELOG.md file.
Project description
Release by Changelog
Release a new version of a software based on CHANGELOG.md file.
Detect the latest version in the CHANGELOG.md file and create a new release in the repository.
Release by Changelog rely on Keep a Changelog format and Semantic Versioning, following those two norms is required.
Installation
pip install --upgrade pip
pip install release-by-changelog
Usage
In a Gitlab CI pipeline, you can use the following command to release a new version of your software based on the CHANGELOG.md file.
release-by-changelog
It's recommended to add a rules
section to run this command only on the default
branch.
Here is an example of a .gitlab-ci.yml
file using release-by-changelog
:
release:
stage: deploy
script:
- pip install release-by-changelog
- release-by-changelog
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
release-by-changelog
will read the CHANGELOG.md file and create a new tag based on the
latest version found in the file. The release will be pushed to the repository.
release-by-changelog
rely on the following predefined CI/CD variables to authenticate
with the GitLab API:
CI_PROJECT_ID
: Used to identify the project,CI_COMMIT_SHA
: Used to identify the reference,CI_JOB_TOKEN
: Used to authenticate with the GitLab API.CI_SERVER_HOST
: Used to identify the GitLab host.
Local usage
You can also use this command locally to release a new version of your software.
release-by-changelog --token <token> <project> <ref>
- project: Path or id on host. [required]
- ref: Can be a branch, tag, or commit SHA. [required]
The token is required to authenticate with the GitLab API. You can authenticate with the GitLab API in several ways:
Using environment variables
You can also use environment variables to avoid passing the token each time. A token passed as an argument will always take precedence over the environment variable.
export PRIVATE_TOKEN=<token>
release-by-changelog <project> <ref>
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for release_by_changelog-0.2.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66098e5b0e491400d9384903a75cd296bc585fba01fa0b0d9e199df61685e2b3 |
|
MD5 | e5d6569c2684fe608fc53942097d9d79 |
|
BLAKE2b-256 | f912e6888c6da42894f0ce41d0c9a09fd9d8c91ed7ed77f64d3a37b99fc38876 |
Hashes for release_by_changelog-0.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | deea9aa91e8bcebfcafb1554937aaf5fc024e3281d711a56cb5ec25c2a485cf4 |
|
MD5 | db31c2de4874246d589b1afc6fe2b644 |
|
BLAKE2b-256 | 5ad699f56f215eca05eaedc92a12fe2072b082a788752fd349c043a1a877b965 |