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.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75c3ade60b408b5e3eb56062a13bad77444ba149a1f64cf81d1f063e198ff76e |
|
MD5 | 5dc123a4e0915e60809f0777e2b63c7b |
|
BLAKE2b-256 | e30ea1adffce59d2ba6c289e59a29aa37022b288a8b7ce83e620fd87933ee868 |
Hashes for release_by_changelog-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44c5404f80c49f45b09ec0dc82952721563acda57cb6adde1730b0234d0169ac |
|
MD5 | a4ab00f134331c9dccdfd6d4f7e898a1 |
|
BLAKE2b-256 | 2e1cea2d5d298980dd8803c56f693032eaea5880ce1cf609d58f395819dff09d |