Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • perxis/perxis-proto
1 result
Show changes
Commits on Source (5)
......@@ -2,26 +2,8 @@ stages:
- pre-release
- release
# Инициация процесса релиза. Запускается вручную или из восходящего конвейера
get_current_version:
image: bitnami/git:latest
stage: pre-release
rules:
- if: '$CI_PIPELINE_SOURCE == "pipeline" && $PREPARE_RELEASE == "true"'
- if: $CI_PIPELINE_SOURCE == "web"
when: manual
variables:
GIT_STRATEGY: clone
GIT_DEPTH: 0
script:
- echo "Start release for perxis-proto"
- echo CURRENT_VERSION=$(git describe --tags --abbrev=0) >> vars.env
artifacts:
reports:
dotenv: vars.env
# Расчет новой версии и формирование Changelog
get_release_info:
get_changelog:
stage: pre-release
image:
name: orhunp/git-cliff:latest
......@@ -29,13 +11,10 @@ get_release_info:
rules:
- if: '$CI_PIPELINE_SOURCE == "pipeline" && $PREPARE_RELEASE == "true"'
- if: $CI_PIPELINE_SOURCE == "web"
needs:
- job: get_current_version
variables:
GIT_STRATEGY: clone
GIT_DEPTH: 0
script:
- echo "RELEASE_VERSION=$(git-cliff --bumped-version)" >> vars.env
- echo "$(git-cliff --unreleased | sed '1,6d' | sed '$d')" > current_changelog.md
artifacts:
reports:
......@@ -46,25 +25,42 @@ get_release_info:
# Выпуск релиза и публикация артефактов с новой версией и списком изменений
prepare_release:
stage: pre-release
image: registry.gitlab.com/gitlab-org/release-cli:latest
image: bitnami/git:latest
variables:
GIT_STRATEGY: clone
GIT_DEPTH: 0
rules:
- if: '$CI_PIPELINE_SOURCE == "pipeline" && $PREPARE_RELEASE == "true"'
- if: $CI_PIPELINE_SOURCE == "web"
needs:
- job: get_current_version
artifacts: true
- job: get_release_info
- job: get_changelog
artifacts: true
script:
- echo "PERXIS_PROTO_CURRENT_VERSION=$CURRENT_VERSION" >> vars.env
- echo "PERXIS_PROTO_RELEASE_VERSION=$RELEASE_VERSION" >> vars.env
- |
CURRENT_VERSION=$(git describe --tags --abbrev=0)
RELEASE_VERSION=$CURRENT_VERSION
# Релиз perxis-proto - это всегда изменения апи и хотфиксом быть не может. Выполняется только при наличии изменений
if [ $HOTFIX_RELEASE != "true" ] && [ $(git rev-list $CURRENT_VERSION..HEAD --count) -gt 0 ]; then
RELEASE_VERSION=$PERXIS_RELEASE_VERSION
fi
# Если новая версия совпадает со старой, значит изменений не было, и выпускать новый релиз не нужно
NEEDS_RELEASE=false
if [ "$RELEASE_VERSION" != "$CURRENT_VERSION" ]; then
NEEDS_RELEASE=true
fi
- echo "PERXIS_PROTO_NEEDS_RELEASE=$NEEDS_RELEASE" >> vars.env
echo "PERXIS_PROTO_CURRENT_VERSION=$CURRENT_VERSION" >> vars.env
echo "PERXIS_PROTO_RELEASE_VERSION=$RELEASE_VERSION" >> vars.env
echo "PERXIS_PROTO_NEEDS_RELEASE=$NEEDS_RELEASE" >> vars.env
printf '### Release perxis-proto
PERXIS_RELEASE_VERSION: %s
HOTFIX_RELEASE: %s
CURRENT_VERSION: %s
RELEASE_VERSION: %s
NEEDS_RELEASE: %s' $PERXIS_RELEASE_VERSION $HOTFIX_RELEASE $CURRENT_VERSION $RELEASE_VERSION $NEEDS_RELEASE
artifacts:
when: always
paths:
......@@ -84,7 +80,7 @@ release:
script:
- echo "Start release $VERSION"
- |
if [ $NEEDS_RELEASE != "true" ]; then
if [ $NEEDS_RELEASE != "true" ]; then
exit 203
fi
allow_failure:
......
......@@ -99,4 +99,7 @@ message LogEntry {
// tags содержит теги связанные с событием, на усмотрение сервиса
repeated string tags = 11;
// релевантность элемента при полнотекстовом поиске
double search_score = 12;
}
\ No newline at end of file