Replace 'master' by 'main' git branch name in scripts

To keep compatibility a $CI_MAIN_BRANCH variable CI is set to 'master'
for the whole psuapp group

Reference:
https://about.gitlab.com/blog/2021/03/10/new-git-default-branch-name/
This commit is contained in:
Tortue Torche 2021-11-30 17:58:56 +01:00
parent 539f2b2a4a
commit 4709863f1f
4 changed files with 16 additions and 15 deletions

View File

@ -150,7 +150,7 @@ generate-docs:
- bash scripts/push-to-gitlab-pages.sh
only:
variables:
- $CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_REF_NAME =~ /^.+-stable$/ && $CI_COMMIT_REF_PROTECTED == "true"
- (($CI_MAIN_BRANCH && $CI_COMMIT_REF_NAME == $CI_MAIN_BRANCH) || $CI_COMMIT_REF_NAME == "main" || $CI_COMMIT_REF_NAME =~ /^.+-stable$/) && $CI_COMMIT_REF_PROTECTED == "true"
except:
variables:
- $CI_PIPELINE_SOURCE == "schedule"

View File

@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Upgrade Operating System of Docker based images, with [Alpine 3.15](https://hub.docker.com/_/alpine)
- Use Docker [Compose 2.1.1](https://github.com/docker/compose/releases/tag/v2.1.1) instead of Docker [Compose 1.x](https://github.com/docker/compose/releases/tag/1.28.0)
- Reduce Docker images size, based on Alpine and Debian, again
- Replace `master` by `main` git branch name in scripts. Reference: [New git default branch name](https://about.gitlab.com/blog/2021/03/10/new-git-default-branch-name/)
### Fixed
- Fix documentation scrolling between pages, with the [`auto2top`](https://docsify.js.org/#/configuration?id=auto2top) option of [docsify](https://docsify.js.org)

View File

@ -46,7 +46,7 @@ function setup_docker_multi_arch() {
function git_tag_on_success() {
local git_tag="${1:-dev}"
local target_branch="${2:-master}"
local target_branch="${2:-${CI_MAIN_BRANCH:-main}}"
if (
[ "$CI_COMMIT_REF_NAME" == "$target_branch" ] &&
@ -73,7 +73,7 @@ function git_tag_on_success() {
function registry_tag_on_success() {
local current_registry_tag="${1:-$CI_COMMIT_SHA}"
local target_registry_tag="${2:-dev}"
local target_branch="${3:-master}"
local target_branch="${3:-${CI_MAIN_BRANCH:-main}}"
local current_registry_image="${4:-$CI_REGISTRY_IMAGE/builds}"
local target_registry_image="${5:-$CI_REGISTRY_IMAGE}"
local target_external_registry_image="${6:-$DOCKER_REGISTRY_IMAGE}"
@ -134,7 +134,7 @@ function get_git_last_stable_tag() {
# Useful for updating Docker images, on release/stable branches, but not the psu code
# See: https://docs.gitlab.com/ce/workflow/gitlab_flow.html#release-branches-with-gitlab-flow
# You can create a scheduled pipeline with a targeted git branch ("master", "1-0-stable", ...)
# You can create a scheduled pipeline with a targeted git branch ("main", "1-0-stable", ...)
# and the CI variables below:
# "GIT_RESET_LAST_STABLE_TAG=true"
# "DOCKER_CACHE_DISABLED=true"

View File

@ -41,19 +41,19 @@ if (
# see: https://semver.org
if [[ "$target_registry_tag" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
git fetch --all
# e.g. " origin/master"
master_branch="$(git branch --no-color --remotes --list 'origin/master')"
# e.g. " origin/main"
main_branch="$(git branch --no-color --remotes --list "origin/${CI_MAIN_BRANCH:-main}")"
# e.g. " origin/1-0-stable
# > origin/1-1-stable
# > origin/2-0-stable
# > origin/master"
commit_in_branches="$(git branch --no-color --remotes --contains $CI_COMMIT_SHA | grep -w ' origin/master\| origin/.*-stable')"
# > origin/main"
commit_in_branches="$(git branch --no-color --remotes --contains $CI_COMMIT_SHA | grep -w " origin/${CI_MAIN_BRANCH:-main}\| origin/.*-stable")"
# e.g. " origin/2-0-stable
# > origin/1-1-stable
# > origin/1-0-stable"
stable_branches="$(echo "$commit_in_branches" | grep -vw ' origin/master' | sort -rV)"
stable_branches="$(echo "$commit_in_branches" | grep -vw " origin/${CI_MAIN_BRANCH:-main}" | sort -rV)"
# Extract the MAJOR and MAJOR.MINOR versions
# Then tag and push them to Docker registry.
@ -71,7 +71,7 @@ if (
# e.g. "1-1-stable"
latest_major_branch="$(echo "$stable_branches"| grep -E "^ origin/$major_registry_tag-[0-9]+-stable$" | head -n 1 | sed -E 's/^ origin\/(.+)$/\1/')"
# If the git tag is only contained in master branch
# If the git tag is only contained in the "main" branch
# or if it's contained in the latest stable branch who has the same MAJOR version
# e.g. when there is 2 stable branches "1-0-stable" and "1-1-stable".
# If git tag is "v1.0.1", the MAJOR registry tag "1" is NOT written.
@ -80,7 +80,7 @@ if (
# If git tag is "v1.1.3", the MAJOR registry tag "1" is written.
# Because the lastet stable branch is "1-1-stable".
if (
([ -n "$master_branch" ] && [ "$master_branch" == "$commit_in_branches" ]) ||
([ -n "$main_branch" ] && [ "$main_branch" == "$commit_in_branches" ]) ||
[ "$latest_major_branch" == "$target_stable_branch" ]
); then
registry_tag_on_success $CI_COMMIT_SHA $major_registry_tag $CI_COMMIT_REF_NAME
@ -89,7 +89,7 @@ if (
registry_tag_on_success $CI_COMMIT_SHA $major_minor_registry_tag $CI_COMMIT_REF_NAME
for variant in $variants; do
if (
([ -n "$master_branch" ] && [ "$master_branch" == "$commit_in_branches" ]) ||
([ -n "$main_branch" ] && [ "$main_branch" == "$commit_in_branches" ]) ||
[ "$latest_major_branch" == "$target_stable_branch" ]
); then
registry_tag_on_success "${variant}-${CI_COMMIT_SHA}" "${major_registry_tag}-${variant}" $CI_COMMIT_REF_NAME
@ -98,12 +98,12 @@ if (
registry_tag_on_success "${variant}-${CI_COMMIT_SHA}" "${major_minor_registry_tag}-${variant}" $CI_COMMIT_REF_NAME
done
# The latest stable semantic versioning git tag on the "master" branch
# The latest stable semantic versioning git tag on the "main" branch
# is considered as the "latest" registry tag.
# Check if the current git commit is only present in the "master" branch
# Check if the current git commit is only present in the "main" branch
# and not in stable branches (e.g. "1-0-stable").
# Non stable branches are skipped (e.g. "feature-better-performance").
if [ -n "$master_branch" ] && [ "$master_branch" == "$commit_in_branches" ]; then
if [ -n "$main_branch" ] && [ "$main_branch" == "$commit_in_branches" ]; then
registry_tag_on_success $CI_COMMIT_SHA "latest" $CI_COMMIT_REF_NAME
for variant in $variants; do
registry_tag_on_success "${variant}-${CI_COMMIT_SHA}" "${variant}" $CI_COMMIT_REF_NAME