From a7c3bc6cee5e2bd6a616f96a4693a0104fddec6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauri=20V=C3=B5sandi?= Date: Wed, 21 Aug 2024 21:44:58 +0300 Subject: [PATCH] Add Woodpecker CI pipeline --- .woodpecker/build.yaml | 28 ++++++++++++++++++++++++++++ .woodpecker/manifest.yaml | 30 ++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 .woodpecker/build.yaml create mode 100644 .woodpecker/manifest.yaml diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml new file mode 100644 index 0000000..21fa21b --- /dev/null +++ b/.woodpecker/build.yaml @@ -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 diff --git a/.woodpecker/manifest.yaml b/.woodpecker/manifest.yaml new file mode 100644 index 0000000..e19430f --- /dev/null +++ b/.woodpecker/manifest.yaml @@ -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