FAQ | This is a LIVE service | Changelog

Skip to content
Commits on Source (2)
......@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [5.0.0] - 2024-09-25
### Changed
- Branches from _prior_ releases which fix bugs, known as "hotfix" branches in
these templates, previously had the format `hotfix-...`. This was surprising
to some since `hotfix-...` is often used to indicate changes which need
immediately merging to the default branch rather than fixes to previous
releases. In #80 we discussed ways forward and decided that the least
confusing option is to change the branch format to `release/fix-...`. This
is marked as a breaking change since behaviour which previously worked now
does not.
## [4.6.0] - 2024-09-24
### Added
......
......@@ -50,8 +50,8 @@ update-release-merge-request:
- if: $USE_MERGE_REQUEST_RELEASE_FLOW == null
when: never
# This is the main rule to run this job if we're using the merge request workflow and the pipeline is running on
# either the default branch or a branch named "hotfix-".
- if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^hotfix-.*$/i) && $CI_COMMIT_MESSAGE !~ /chore\(release\)/
# either the default branch or a branch named "release/fix-...".
- if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^release\/fix-.*$/i) && $CI_COMMIT_MESSAGE !~ /chore\(release\)/
release:
extends: .release-base
......@@ -64,13 +64,13 @@ release:
- if: ($CI_COMMIT_BEFORE_SHA == "0000000000000000000000000000000000000000" || $CI_PIPELINE_SOURCE == "web") && $USE_MERGE_REQUEST_RELEASE_FLOW
when: never
# When using the merge request workflow, this release job should only trigger for pipelines on the default branch or
# branches starting "hotfix-" and only if the automated release bot commit was merged as the most recent commit.
- if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^hotfix-.*$/i) && $USE_MERGE_REQUEST_RELEASE_FLOW && $CI_COMMIT_MESSAGE =~ /chore\(release\)/
# branches starting "release/fix-" and only if the automated release bot commit was merged as the most recent commit.
- if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^release\/fix-.*$/i) && $USE_MERGE_REQUEST_RELEASE_FLOW && $CI_COMMIT_MESSAGE =~ /chore\(release\)/
# If we're using the merge request workflow but all previous rules have not matched then we do not run the
# release job.
- if: $USE_MERGE_REQUEST_RELEASE_FLOW
when: never
# Finally, we can assume we're running in the default mode and we simply run this release job if we are on the
# default branch or a branch starting "hotfix-". Note that we don't run the job if the last commit was the release
# default branch or a branch starting "release/fix-". Note that we don't run the job if the last commit was the release
# commit by the bot account otherwise we'll get stuck in an infinite loop.
- if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^hotfix-.*$/i) && $CI_COMMIT_MESSAGE !~ /chore\(release\)/
- if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^release\/fix-.*$/i) && $CI_COMMIT_MESSAGE !~ /chore\(release\)/
......@@ -51,17 +51,17 @@ commitlint:
rules:
- if: $COMMITLINT_DISABLED || ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH) || ($CI_COMMIT_BRANCH =~ /^release-it--.*$/i)
when: never
- if: ($CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH !~ /^hotfix-.*$/i) || $CI_MERGE_REQUEST_IID
- if: ($CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH !~ /^release\/fix-.*$/i) || $CI_MERGE_REQUEST_IID
commitlint-hotfix:
extends: .commitlint-base
script: |
# This job is specifically for hotfix branches. Hotfix branches should be forked from a git tag to patch an issue,
# therefore, this finds the most recent tag and lints all commits from that point.
# This job is specifically for branches from previous releases. Such "hotfix" branches should be forked from a git
# tag to patch an issue, therefore, this finds the most recent tag and lints all commits from that point.
FROM="$(git describe --tags --abbrev=0)"
npx commitlint --from "$FROM" --verbose $COMMITLINT_OPTIONS
rules:
- if: $COMMITLINT_HOTFIX_DISABLED
when: never
- if: $CI_COMMIT_BRANCH =~ /^hotfix-.*$/i
- if: $CI_COMMIT_BRANCH =~ /^release\/fix-.*$/i