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