Add Woodpecker CI pipeline

This commit is contained in:
2024-08-21 21:44:58 +03:00
parent 9a4ee7f920
commit a7c3bc6cee
2 changed files with 58 additions and 0 deletions

28
.woodpecker/build.yaml Normal file
View File

@@ -0,0 +1,28 @@
---
matrix:
ARCH:
- amd64
- arm64
steps:
- name: build
image: woodpeckerci/plugin-kaniko
backend_options:
kubernetes:
nodeSelector:
kubernetes.io/arch: ${ARCH}
tolerations:
- key: arch
operator: Equal
value: ${ARCH}
effect: NoSchedule
settings:
repo: ${CI_REPO}
registry: harbor.codemowers.eu
tags: latest-${ARCH}
username:
from_secret: docker_username
password:
from_secret: docker_password
when:
- branch: master

30
.woodpecker/manifest.yaml Normal file
View File

@@ -0,0 +1,30 @@
---
skip_clone: true
steps:
- name: manifest
image: mirror.gcr.io/mplatform/manifest-tool:alpine-v2.1.6
secrets:
- docker_username
- docker_password
commands:
- |
cat << EOF > spec.yaml
image: "harbor.woodpecker.eu/${CI_REPO}:latest"
manifests:
- image: "harbor.woodpecker.eu/${CI_REPO}:latest-amd64"
platform:
architecture: amd64
os: linux
- image: "harbor.woodpecker.eu/${CI_REPO}:latest-arm64"
platform:
architecture: arm64
os: linux
EOF
- /manifest-tool --username $docker_username --password $docker_password push from-spec spec.yaml > stdout
- cat stdout
when:
- branch: master
depends_on:
- build