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
File details
Details for the file release_by_changelog-0.2.3.tar.gz
.
File metadata
- Download URL: release_by_changelog-0.2.3.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66098e5b0e491400d9384903a75cd296bc585fba01fa0b0d9e199df61685e2b3 |
|
MD5 | e5d6569c2684fe608fc53942097d9d79 |
|
BLAKE2b-256 | f912e6888c6da42894f0ce41d0c9a09fd9d8c91ed7ed77f64d3a37b99fc38876 |
File details
Details for the file release_by_changelog-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: release_by_changelog-0.2.3-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | deea9aa91e8bcebfcafb1554937aaf5fc024e3281d711a56cb5ec25c2a485cf4 |
|
MD5 | db31c2de4874246d589b1afc6fe2b644 |
|
BLAKE2b-256 | 5ad699f56f215eca05eaedc92a12fe2072b082a788752fd349c043a1a877b965 |