Update Woodpecker CI config
All checks were successful
ci/woodpecker/push/build/2 Pipeline was successful
ci/woodpecker/push/build/1 Pipeline was successful
ci/woodpecker/push/tag Pipeline was successful

This commit is contained in:
Vladimir Hodakov 2025-05-25 17:58:35 +04:00
parent 8147161887
commit e6528b8cf3
Signed by: Vladimir Hodakov
GPG Key ID: 673980B6882F82C6
3 changed files with 81 additions and 35 deletions

35
.woodpecker/build.yaml Normal file
View File

@ -0,0 +1,35 @@
matrix:
platform:
- linux/amd64
- linux/arm64
labels:
platform: ${platform}
when:
branch: main
event: [push, pull_request, tag]
steps:
test-build:
image: docker:27-dind
commands:
- docker buildx build -t source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-${platform##linux/} .
volumes:
- /var/run/docker.sock:/var/run/docker.sock
when:
event: pull_request
build-to-registry:
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 buildx build -t source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-${platform##linux/} .
- docker push source.hodakov.me/containers/renkit:${CI_COMMIT_SHA:0:10}-${platform##linux/}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
when:
event: [push, tag]

View File

@ -1,35 +0,0 @@
when:
branch: main
event: [push, pull_request, tag]
variables:
- &repo source.hodakov.me/containers/renkit
steps:
dryrun:
image: woodpeckerci/plugin-docker-buildx:5.1.0
privileged: true
settings:
dockerfile: Dockerfile
platforms: linux/arm64/v8,linux/amd64
dry_run: true
repo: *repo
auto_tag: true
when:
event: pull_request
publish:
image: woodpeckerci/plugin-docker-buildx:5.1.0
privileged: true
settings:
dockerfile: Dockerfile
platforms: linux/arm64/v8,linux/amd64
repo: *repo
registry: source.hodakov.me
auto_tag: true
username: ${CI_REPO_OWNER}
password:
from_secret: registry_token
when:
event: [push, tag]

46
.woodpecker/tag.yaml Normal file
View File

@ -0,0 +1,46 @@
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