47 lines
2.3 KiB
YAML
47 lines
2.3 KiB
YAML
when:
|
|
branch: main
|
|
event: [push, tag]
|
|
|
|
depends_on:
|
|
- build
|
|
|
|
steps:
|
|
tag latest:
|
|
image: docker:27-dind
|
|
environment:
|
|
CI_USER_PASSWORD:
|
|
from_secret: registry_token
|
|
commands:
|
|
- docker login -u ${CI_REPO_OWNER} -p $${CI_USER_PASSWORD} source.hodakov.me
|
|
- docker pull source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-amd64
|
|
- docker pull source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-arm64
|
|
- docker manifest create source.hodakov.me/containers/renkit:latest source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-amd64 source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-arm64
|
|
- docker manifest push source.hodakov.me/containers/renkit:latest
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
when:
|
|
event: push
|
|
|
|
tag semver:
|
|
image: docker:27-dind
|
|
environment:
|
|
CI_USER_PASSWORD:
|
|
from_secret: registry_token
|
|
commands:
|
|
- set -eu
|
|
- docker login -u ${CI_REPO_OWNER} -p $${CI_USER_PASSWORD} source.hodakov.me
|
|
- source ./scripts/semver.sh
|
|
- echo "Creating manifest for $${DOCKER_EXACT_TAG}, $${DOCKER_MAJOR_TAG} and $${DOCKER_MINOR_TAG}"
|
|
- docker pull source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-amd64
|
|
- docker pull source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-arm64
|
|
- docker manifest create source.hodakov.me/containers/renkit:$${DOCKER_EXACT_TAG} source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-amd64 source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-arm64
|
|
- docker manifest create source.hodakov.me/containers/renkit:$${DOCKER_MINOR_TAG} source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-amd64 source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-arm64
|
|
- docker manifest create source.hodakov.me/containers/renkit:$${DOCKER_MAJOR_TAG} source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-amd64 source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-arm64
|
|
- docker manifest push source.hodakov.me/containers/renkit:$${DOCKER_EXACT_TAG}
|
|
- docker manifest push source.hodakov.me/containers/renkit:$${DOCKER_MINOR_TAG}
|
|
- docker manifest push source.hodakov.me/containers/renkit:$${DOCKER_MAJOR_TAG}
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
when:
|
|
event: tag
|