diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 101e89d..12f1d9c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,7 +7,7 @@ stages: - release variables: - QEMU_VERSION: v4.0.0 + QEMU_VERSION: v4.0.0-5 before_script: - mkdir -p /root/.docker || true @@ -22,6 +22,14 @@ build-amd64: - docker build --build-arg ARCH=amd64 -t ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64 . - docker push ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64 +build-arm32v6: + stage: build + script: + - wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-arm-static -O qemu-arm-static + - chmod 554 qemu-arm-static + - docker build --build-arg ARCH=arm32v6 -t ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v6 . + - docker push ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v6 + build-arm32v7: stage: build script: @@ -33,9 +41,9 @@ build-arm32v7: build-arm64v8: stage: build script: - - wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-arm-static -O qemu-arm-static - - chmod 554 qemu-arm-static - - docker build --build-arg ARCH=arm32v7 -t ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8 . + - wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-aarch64-static -O qemu-arm-static + - chmod 554 qemu-aarch64-static + - docker build --build-arg ARCH=arm64v8 -t ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8 . - docker push ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8 release: @@ -44,14 +52,18 @@ release: - docker pull ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64 - docker tag ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64 ${CI_REGISTRY_IMAGE}:latest-amd64 - docker push ${CI_REGISTRY_IMAGE}:latest-amd64 + - docker pull ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v6 + - docker tag ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v6 ${CI_REGISTRY_IMAGE}:latest-arm32v6 + - docker push ${CI_REGISTRY_IMAGE}:latest-arm32v6 - docker pull ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v7 - docker tag ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v7 ${CI_REGISTRY_IMAGE}:latest-arm32v7 - docker push ${CI_REGISTRY_IMAGE}:latest-arm32v7 - docker pull ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8 - docker tag ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8 ${CI_REGISTRY_IMAGE}:latest-arm64v8 - docker push ${CI_REGISTRY_IMAGE}:latest-arm64v8 - - docker manifest create ${CI_REGISTRY_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64 ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v7 ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8 + - docker manifest create ${CI_REGISTRY_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64 ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v6 ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v7 ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8 - docker manifest annotate --os linux --arch amd64 ${CI_REGISTRY_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64 + - docker manifest annotate --os linux --arch arm --variant v6 ${CI_REGISTRY_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v6 - docker manifest annotate --os linux --arch arm --variant v7 ${CI_REGISTRY_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v7 - docker manifest annotate --os linux --arch arm64 --variant v8 ${CI_REGISTRY_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8 - docker manifest push ${CI_REGISTRY_IMAGE}:latest