diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1248c8e..3a9ba07 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,6 +23,15 @@ 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-*-static + - docker run --rm --privileged multiarch/qemu-user-static:register --reset + - 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: @@ -47,14 +56,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 @@ -74,14 +87,18 @@ dockerhub: - docker pull ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64 - docker tag ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64 ${DOCKERHUB_IMAGE}:latest-amd64 - docker push ${DOCKERHUB_IMAGE}:latest-amd64 + - docker pull ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v6 + - docker tag ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v6 ${DOCKERHUB_IMAGE}:latest-arm32v6 + - docker push ${DOCKERHUB_IMAGE}:latest-arm32v6 - docker pull ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v7 - docker tag ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v7 ${DOCKERHUB_IMAGE}:latest-arm32v7 - docker push ${DOCKERHUB_IMAGE}:latest-arm32v7 - docker pull ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8 - docker tag ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8 ${DOCKERHUB_IMAGE}:latest-arm64v8 - docker push ${DOCKERHUB_IMAGE}:latest-arm64v8 - - docker manifest create ${DOCKERHUB_IMAGE}:latest ${DOCKERHUB_IMAGE}:latest-amd64 ${DOCKERHUB_IMAGE}:latest-arm32v7 ${DOCKERHUB_IMAGE}:latest-arm64v8 + - docker manifest create ${DOCKERHUB_IMAGE}:latest ${DOCKERHUB_IMAGE}:latest-amd64 ${DOCKERHUB_IMAGE}:latest-arm32v6 ${DOCKERHUB_IMAGE}:latest-arm32v7 ${DOCKERHUB_IMAGE}:latest-arm64v8 - docker manifest annotate --os linux --arch amd64 ${DOCKERHUB_IMAGE}:latest ${DOCKERHUB_IMAGE}:latest-amd64 + - docker manifest annotate --os linux --arch arm --variant v6 ${DOCKERHUB_IMAGE}:latest ${DOCKERHUB_IMAGE}:latest-arm32v6 - docker manifest annotate --os linux --arch arm --variant v7 ${DOCKERHUB_IMAGE}:latest ${DOCKERHUB_IMAGE}:latest-arm32v7 - docker manifest annotate --os linux --arch arm64 --variant v8 ${DOCKERHUB_IMAGE}:latest ${DOCKERHUB_IMAGE}:latest-arm64v8 - docker manifest push ${DOCKERHUB_IMAGE}:latest