ci: add find next semver tag and use to to create gitlab release and tag too
This commit is contained in:
parent
38812ec489
commit
d634a376bb
1 changed files with 40 additions and 0 deletions
|
|
@ -3,12 +3,18 @@ default:
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
|
- pre-release
|
||||||
|
- release
|
||||||
|
|
||||||
build:
|
build:
|
||||||
stage: build
|
stage: build
|
||||||
variables:
|
variables:
|
||||||
IMAGE: $CI_REGISTRY_IMAGE
|
IMAGE: $CI_REGISTRY_IMAGE
|
||||||
TAG: $CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
|
TAG: $CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
variables:
|
||||||
|
TAG: $CI_COMMIT_TAG
|
||||||
before_script:
|
before_script:
|
||||||
- echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
|
- echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
|
||||||
- docker info
|
- docker info
|
||||||
|
|
@ -16,3 +22,37 @@ build:
|
||||||
- docker buildx create --name yggdrasil --use
|
- docker buildx create --name yggdrasil --use
|
||||||
- docker buildx build --provenance=false --platform linux/amd64,linux/arm64 -t $IMAGE:$TAG --push .
|
- docker buildx build --provenance=false --platform linux/amd64,linux/arm64 -t $IMAGE:$TAG --push .
|
||||||
- docker manifest inspect $IMAGE:$TAG
|
- docker manifest inspect $IMAGE:$TAG
|
||||||
|
|
||||||
|
semver-tag:
|
||||||
|
stage: pre-release
|
||||||
|
image: ghcr.io/vojtechmares/container-images/release-tools:latest
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
when: never
|
||||||
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
||||||
|
variables:
|
||||||
|
# Disable shallow cloning so that svu can diff between tags
|
||||||
|
GIT_DEPTH: 0
|
||||||
|
script:
|
||||||
|
- echo "TAG=$(svu next)" >> release.env
|
||||||
|
artifacts:
|
||||||
|
reports:
|
||||||
|
dotenv: release.env
|
||||||
|
|
||||||
|
release:
|
||||||
|
stage: release
|
||||||
|
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||||
|
needs:
|
||||||
|
- job: prepare_job
|
||||||
|
artifacts: true
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
when: never
|
||||||
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
||||||
|
script:
|
||||||
|
- echo "Creating release for $TAG"
|
||||||
|
release:
|
||||||
|
name: 'Release $TAG'
|
||||||
|
description: 'Created using the release-cli'
|
||||||
|
tag_name: '$TAG'
|
||||||
|
ref: '$CI_COMMIT_SHA'
|
||||||
|
|
|
||||||
Reference in a new issue