Skip to main content

Release a new version of a software based on CHANGELOG.md file.

Project description

Release by Changelog

Pipeline Ruff

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

release_by_changelog-0.2.3.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

release_by_changelog-0.2.3-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

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

Hashes for release_by_changelog-0.2.3.tar.gz
Algorithm Hash digest
SHA256 66098e5b0e491400d9384903a75cd296bc585fba01fa0b0d9e199df61685e2b3
MD5 e5d6569c2684fe608fc53942097d9d79
BLAKE2b-256 f912e6888c6da42894f0ce41d0c9a09fd9d8c91ed7ed77f64d3a37b99fc38876

See more details on using hashes here.

File details

Details for the file release_by_changelog-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for release_by_changelog-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 deea9aa91e8bcebfcafb1554937aaf5fc024e3281d711a56cb5ec25c2a485cf4
MD5 db31c2de4874246d589b1afc6fe2b644
BLAKE2b-256 5ad699f56f215eca05eaedc92a12fe2072b082a788752fd349c043a1a877b965

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page