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.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c198bca6d809ccf051f48698b647ae74334c5443a1a02dac7753e5961472eb91 |
|
MD5 | 2049a446a07dfa03afe4559cfdd464d9 |
|
BLAKE2b-256 | bf9a6940f8f986a488b5967933175305e39c29008d36e33f75a767ea5ad714f4 |
Hashes for release_by_changelog-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b95c13a08d43b869b08d8794e772184e352a832cd992159736de733594090617 |
|
MD5 | 0c0ce9cd43057b6efa522a734cd698f4 |
|
BLAKE2b-256 | 33621b528dc9a81443f7442894758f993b76e8f6f42f91731b6a715c09b7421d |