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: ...@@ -2,26 +2,8 @@ stages:
- pre-release - pre-release
- 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 # Расчет новой версии и формирование Changelog
get_release_info: get_changelog:
stage: pre-release stage: pre-release
image: image:
name: orhunp/git-cliff:latest name: orhunp/git-cliff:latest
...@@ -29,13 +11,10 @@ get_release_info: ...@@ -29,13 +11,10 @@ get_release_info:
rules: rules:
- if: '$CI_PIPELINE_SOURCE == "pipeline" && $PREPARE_RELEASE == "true"' - if: '$CI_PIPELINE_SOURCE == "pipeline" && $PREPARE_RELEASE == "true"'
- if: $CI_PIPELINE_SOURCE == "web" - if: $CI_PIPELINE_SOURCE == "web"
needs:
- job: get_current_version
variables: variables:
GIT_STRATEGY: clone GIT_STRATEGY: clone
GIT_DEPTH: 0 GIT_DEPTH: 0
script: script:
- echo "RELEASE_VERSION=$(git-cliff --bumped-version)" >> vars.env
- echo "$(git-cliff --unreleased | sed '1,6d' | sed '$d')" > current_changelog.md - echo "$(git-cliff --unreleased | sed '1,6d' | sed '$d')" > current_changelog.md
artifacts: artifacts:
reports: reports:
...@@ -46,25 +25,42 @@ get_release_info: ...@@ -46,25 +25,42 @@ get_release_info:
# Выпуск релиза и публикация артефактов с новой версией и списком изменений # Выпуск релиза и публикация артефактов с новой версией и списком изменений
prepare_release: prepare_release:
stage: pre-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: rules:
- if: '$CI_PIPELINE_SOURCE == "pipeline" && $PREPARE_RELEASE == "true"' - if: '$CI_PIPELINE_SOURCE == "pipeline" && $PREPARE_RELEASE == "true"'
- if: $CI_PIPELINE_SOURCE == "web" - if: $CI_PIPELINE_SOURCE == "web"
needs: needs:
- job: get_current_version - job: get_changelog
artifacts: true
- job: get_release_info
artifacts: true artifacts: true
script: 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 NEEDS_RELEASE=false
if [ "$RELEASE_VERSION" != "$CURRENT_VERSION" ]; then if [ "$RELEASE_VERSION" != "$CURRENT_VERSION" ]; then
NEEDS_RELEASE=true NEEDS_RELEASE=true
fi 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: artifacts:
when: always when: always
paths: paths:
...@@ -84,7 +80,7 @@ release: ...@@ -84,7 +80,7 @@ release:
script: script:
- echo "Start release $VERSION" - echo "Start release $VERSION"
- | - |
if [ $NEEDS_RELEASE != "true" ]; then if [ $NEEDS_RELEASE != "true" ]; then
exit 203 exit 203
fi fi
allow_failure: allow_failure:
......
...@@ -99,4 +99,7 @@ message LogEntry { ...@@ -99,4 +99,7 @@ message LogEntry {
// tags содержит теги связанные с событием, на усмотрение сервиса // tags содержит теги связанные с событием, на усмотрение сервиса
repeated string tags = 11; repeated string tags = 11;
// релевантность элемента при полнотекстовом поиске
double search_score = 12;
} }
\ No newline at end of file