commit 6950d0f2a2e289065440b217d0fab6c01b3c8861
parent 2972050242ca6ff9e86b7f50e415fde88eb0eaf7
Author: MTRNord <MTRNord@users.noreply.github.com>
Date: Fri, 10 Apr 2026 02:37:16 +0200
try to fix issues
Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Diffstat:
1 file changed, 158 insertions(+), 165 deletions(-)
diff --git a/apps/talos_cluster/jenkins/seeds/jobs/gitops_multiarch_builds.groovy b/apps/talos_cluster/jenkins/seeds/jobs/gitops_multiarch_builds.groovy
@@ -37,6 +37,7 @@ pipelineJob('gitops-multiarch-builds') {
REGISTRY_URL = 'https://registry.midnightthoughts.space'
DOCKER_CONFIG = '/var/run/secrets/docker.io'
COSIGN_KEY_PATH = '/var/run/secrets/cosign/key'
+ PATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
}
stages {
@@ -45,12 +46,12 @@ pipelineJob('gitops-multiarch-builds') {
script {
echo "=== Preparing multi-arch build environment ==="
sh '''
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes || true
+ podman run --rm --privileged multiarch/qemu-user-static --reset -p yes || true
ls -la /proc/sys/fs/binfmt_misc/ || echo "binfmt_misc not available"
- docker buildx create --use --name multiarch-builder || docker buildx use multiarch-builder
- docker buildx inspect --bootstrap
+ podman buildx create --use --name multiarch-builder || podman buildx use multiarch-builder
+ podman buildx inspect --bootstrap
'''
}
}
@@ -113,7 +114,7 @@ pipelineJob('gitops-multiarch-builds') {
post {
always {
- cleanWs()
+ deleteDir()
}
success {
echo "✓ Build pipeline completed successfully!"
@@ -131,177 +132,169 @@ pipelineJob('gitops-multiarch-builds') {
def build_matrix_backup() {
echo "=== Building matrix-backup ==="
- docker.image('docker:latest').inside('--privileged') {
- sh '''
- set -eu
-
- mkdir -p ~/.docker
- cp ${DOCKER_CONFIG}/config.json ~/.docker/config.json 2>/dev/null || true
-
- TAG_TS=$(date -u +%Y%m%d-%H%M%S)
- TAG_SHA="sha-$(git rev-parse --short HEAD)"
- IMAGE="${REGISTRY}/mtrnord/cluster/matrix-backup"
-
- echo "Building multi-arch image: ${IMAGE}"
- echo "Tags: ${TAG_TS}, main, ${TAG_SHA}"
-
- docker buildx build \\
- --platform linux/amd64,linux/arm64 \\
- --tag "${IMAGE}:${TAG_TS}" \\
- --tag "${IMAGE}:main" \\
- --tag "${IMAGE}:${TAG_SHA}" \\
- --push \\
- -f apps/talos_cluster/image-builder/matrix-backup/Dockerfile \\
- apps/talos_cluster/image-builder/matrix-backup/
-
- docker run --rm \\
- -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
- -v ~/.docker:/root/.docker:ro \\
- gcr.io/projectsigstore/cosign:latest \\
- sign --key /cosign/key "${IMAGE}:${TAG_TS}"
-
- docker run --rm \\
- -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
- -v ~/.docker:/root/.docker:ro \\
- gcr.io/projectsigstore/cosign:latest \\
- sign --key /cosign/key "${IMAGE}:main"
-
- docker run --rm \\
- -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
- -v ~/.docker:/root/.docker:ro \\
- gcr.io/projectsigstore/cosign:latest \\
- sign --key /cosign/key "${IMAGE}:${TAG_SHA}"
- '''
- }
+ sh '''
+ set -eu
+
+ mkdir -p ~/.docker
+ cp ${DOCKER_CONFIG}/config.json ~/.docker/config.json 2>/dev/null || true
+
+ TAG_TS=$(date -u +%Y%m%d-%H%M%S)
+ TAG_SHA="sha-$(git rev-parse --short HEAD)"
+ IMAGE="${REGISTRY}/mtrnord/cluster/matrix-backup"
+
+ echo "Building multi-arch image: ${IMAGE}"
+ echo "Tags: ${TAG_TS}, main, ${TAG_SHA}"
+
+ podman buildx build \\
+ --platform linux/amd64,linux/arm64 \\
+ --tag "${IMAGE}:${TAG_TS}" \\
+ --tag "${IMAGE}:main" \\
+ --tag "${IMAGE}:${TAG_SHA}" \\
+ --push \\
+ -f apps/talos_cluster/image-builder/matrix-backup/Dockerfile \\
+ apps/talos_cluster/image-builder/matrix-backup/
+
+ podman run --rm \\
+ -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
+ -v ~/.docker:/root/.docker:ro \\
+ gcr.io/projectsigstore/cosign:latest \\
+ sign --key /cosign/key "${IMAGE}:${TAG_TS}"
+
+ podman run --rm \\
+ -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
+ -v ~/.docker:/root/.docker:ro \\
+ gcr.io/projectsigstore/cosign:latest \\
+ sign --key /cosign/key "${IMAGE}:main"
+
+ podman run --rm \\
+ -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
+ -v ~/.docker:/root/.docker:ro \\
+ gcr.io/projectsigstore/cosign:latest \\
+ sign --key /cosign/key "${IMAGE}:${TAG_SHA}"
+ '''
}
def build_continuwuity() {
echo "=== Building continuwuity ==="
- docker.image('docker:latest').inside('--privileged') {
- sh '''
- set -eu
-
- mkdir -p ~/.docker
- cp ${DOCKER_CONFIG}/config.json ~/.docker/config.json 2>/dev/null || true
-
- TAG_SHA="sha-$(git rev-parse --short HEAD)"
- IMAGE="${REGISTRY}/mtrnord/cluster/continuwuity"
-
- echo "Building multi-arch image: ${IMAGE}"
- echo "Tags: main, ${TAG_SHA}"
-
- docker buildx build \\
- --platform linux/amd64,linux/arm64 \\
- --tag "${IMAGE}:main" \\
- --tag "${IMAGE}:${TAG_SHA}" \\
- --push \\
- -f apps/talos_cluster/image-builder/continuwuity/Dockerfile \\
- apps/talos_cluster/image-builder/continuwuity/
-
- docker run --rm \\
- -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
- -v ~/.docker:/root/.docker:ro \\
- gcr.io/projectsigstore/cosign:latest \\
- sign --key /cosign/key "${IMAGE}:main"
-
- docker run --rm \\
- -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
- -v ~/.docker:/root/.docker:ro \\
- gcr.io/projectsigstore/cosign:latest \\
- sign --key /cosign/key "${IMAGE}:${TAG_SHA}"
- '''
- }
+ sh '''
+ set -eu
+
+ mkdir -p ~/.docker
+ cp ${DOCKER_CONFIG}/config.json ~/.docker/config.json 2>/dev/null || true
+
+ TAG_SHA="sha-$(git rev-parse --short HEAD)"
+ IMAGE="${REGISTRY}/mtrnord/cluster/continuwuity"
+
+ echo "Building multi-arch image: ${IMAGE}"
+ echo "Tags: main, ${TAG_SHA}"
+
+ podman buildx build \\
+ --platform linux/amd64,linux/arm64 \\
+ --tag "${IMAGE}:main" \\
+ --tag "${IMAGE}:${TAG_SHA}" \\
+ --push \\
+ -f apps/talos_cluster/image-builder/continuwuity/Dockerfile \\
+ apps/talos_cluster/image-builder/continuwuity/
+
+ podman run --rm \\
+ -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
+ -v ~/.docker:/root/.docker:ro \\
+ gcr.io/projectsigstore/cosign:latest \\
+ sign --key /cosign/key "${IMAGE}:main"
+
+ podman run --rm \\
+ -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
+ -v ~/.docker:/root/.docker:ro \\
+ gcr.io/projectsigstore/cosign:latest \\
+ sign --key /cosign/key "${IMAGE}:${TAG_SHA}"
+ '''
}
def build_blog() {
echo "=== Building blog ==="
- docker.image('docker:latest').inside('--privileged') {
- sh '''
- set -eu
-
- mkdir -p ~/.docker
- cp ${DOCKER_CONFIG}/config.json ~/.docker/config.json 2>/dev/null || true
-
- TAG_TS=$(date -u +%Y%m%d-%H%M%S)
- TAG_SHA="sha-$(git rev-parse --short HEAD)"
- IMAGE="${REGISTRY}/mtrnord/blog"
-
- echo "Building multi-arch image: ${IMAGE}"
- echo "Tags: ${TAG_TS}, latest, ${TAG_SHA}"
-
- docker buildx build \\
- --platform linux/amd64,linux/arm64 \\
- --tag "${IMAGE}:${TAG_TS}" \\
- --tag "${IMAGE}:latest" \\
- --tag "${IMAGE}:${TAG_SHA}" \\
- --push \\
- -f apps/talos_cluster/image-builder/blog/Dockerfile \\
- apps/talos_cluster/image-builder/blog/
-
- docker run --rm \\
- -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
- -v ~/.docker:/root/.docker:ro \\
- gcr.io/projectsigstore/cosign:latest \\
- sign --key /cosign/key "${IMAGE}:${TAG_TS}"
-
- docker run --rm \\
- -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
- -v ~/.docker:/root/.docker:ro \\
- gcr.io/projectsigstore/cosign:latest \\
- sign --key /cosign/key "${IMAGE}:latest"
-
- docker run --rm \\
- -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
- -v ~/.docker:/root/.docker:ro \\
- gcr.io/projectsigstore/cosign:latest \\
- sign --key /cosign/key "${IMAGE}:${TAG_SHA}"
- '''
- }
+ sh '''
+ set -eu
+
+ mkdir -p ~/.docker
+ cp ${DOCKER_CONFIG}/config.json ~/.docker/config.json 2>/dev/null || true
+
+ TAG_TS=$(date -u +%Y%m%d-%H%M%S)
+ TAG_SHA="sha-$(git rev-parse --short HEAD)"
+ IMAGE="${REGISTRY}/mtrnord/blog"
+
+ echo "Building multi-arch image: ${IMAGE}"
+ echo "Tags: ${TAG_TS}, latest, ${TAG_SHA}"
+
+ podman buildx build \\
+ --platform linux/amd64,linux/arm64 \\
+ --tag "${IMAGE}:${TAG_TS}" \\
+ --tag "${IMAGE}:latest" \\
+ --tag "${IMAGE}:${TAG_SHA}" \\
+ --push \\
+ -f apps/talos_cluster/image-builder/blog/Dockerfile \\
+ apps/talos_cluster/image-builder/blog/
+
+ podman run --rm \\
+ -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
+ -v ~/.docker:/root/.docker:ro \\
+ gcr.io/projectsigstore/cosign:latest \\
+ sign --key /cosign/key "${IMAGE}:${TAG_TS}"
+
+ podman run --rm \\
+ -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
+ -v ~/.docker:/root/.docker:ro \\
+ gcr.io/projectsigstore/cosign:latest \\
+ sign --key /cosign/key "${IMAGE}:latest"
+
+ podman run --rm \\
+ -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
+ -v ~/.docker:/root/.docker:ro \\
+ gcr.io/projectsigstore/cosign:latest \\
+ sign --key /cosign/key "${IMAGE}:${TAG_SHA}"
+ '''
}
def build_bookwyrm() {
echo "=== Building bookwyrm ==="
- docker.image('docker:latest').inside('--privileged') {
- sh '''
- set -eu
-
- mkdir -p ~/.docker
- cp ${DOCKER_CONFIG}/config.json ~/.docker/config.json 2>/dev/null || true
-
- VERSION=$(docker run --rm curlimages/curl:latest \\
- curl -sf "https://api.github.com/repos/bookwyrm-social/bookwyrm/releases/latest" | \\
- grep '"tag_name"' | head -1 | cut -d'"' -f4)
-
- if [ -z "$VERSION" ]; then
- echo "ERROR: could not determine upstream version"
- exit 1
- fi
-
- IMAGE="${REGISTRY}/mtrnord/cluster/bookwyrm"
-
- echo "Building multi-arch image: ${IMAGE}"
- echo "Tags: ${VERSION}, latest"
-
- docker buildx build \\
- --platform linux/amd64,linux/arm64 \\
- --build-arg VERSION="${VERSION}" \\
- --tag "${IMAGE}:${VERSION}" \\
- --tag "${IMAGE}:latest" \\
- --push \\
- -f apps/talos_cluster/image-builder/bookwyrm/Dockerfile \\
- apps/talos_cluster/image-builder/bookwyrm/
-
- docker run --rm \\
- -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
- -v ~/.docker:/root/.docker:ro \\
- gcr.io/projectsigstore/cosign:latest \\
- sign --key /cosign/key "${IMAGE}:${VERSION}"
-
- docker run --rm \\
- -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
- -v ~/.docker:/root/.docker:ro \\
- gcr.io/projectsigstore/cosign:latest \\
- sign --key /cosign/key "${IMAGE}:latest"
- '''
- }
+ sh '''
+ set -eu
+
+ mkdir -p ~/.docker
+ cp ${DOCKER_CONFIG}/config.json ~/.docker/config.json 2>/dev/null || true
+
+ VERSION=$(podman run --rm curlimages/curl:latest \\
+ curl -sf "https://api.github.com/repos/bookwyrm-social/bookwyrm/releases/latest" | \\
+ grep '"tag_name"' | head -1 | cut -d'"' -f4)
+
+ if [ -z "$VERSION" ]; then
+ echo "ERROR: could not determine upstream version"
+ exit 1
+ fi
+
+ IMAGE="${REGISTRY}/mtrnord/cluster/bookwyrm"
+
+ echo "Building multi-arch image: ${IMAGE}"
+ echo "Tags: ${VERSION}, latest"
+
+ podman buildx build \\
+ --platform linux/amd64,linux/arm64 \\
+ --build-arg VERSION="${VERSION}" \\
+ --tag "${IMAGE}:${VERSION}" \\
+ --tag "${IMAGE}:latest" \\
+ --push \\
+ -f apps/talos_cluster/image-builder/bookwyrm/Dockerfile \\
+ apps/talos_cluster/image-builder/bookwyrm/
+
+ podman run --rm \\
+ -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
+ -v ~/.docker:/root/.docker:ro \\
+ gcr.io/projectsigstore/cosign:latest \\
+ sign --key /cosign/key "${IMAGE}:${VERSION}"
+
+ podman run --rm \\
+ -v ${COSIGN_KEY_PATH}:/cosign/key:ro \\
+ -v ~/.docker:/root/.docker:ro \\
+ gcr.io/projectsigstore/cosign:latest \\
+ sign --key /cosign/key "${IMAGE}:latest"
+ '''
}