1
0
Fork 0

ci: add find next semver tag and use to to create gitlab release and tag too

This commit is contained in:
Vojtěch Mareš 2024-05-12 12:06:27 +02:00
parent 38812ec489
commit d634a376bb
Signed by: vojtech.mares
GPG key ID: C6827B976F17240D

View file

@ -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'