diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ddb88a9bb4b5e402fdae5b9f2a66827ffeefa92f..a8b026857442df444c3d0fa3c3366610a1ee65a7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,12 +17,10 @@ test docker: OVERLAY_VERSION: "v2.2.0.3" before_script: - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_TOKEN" docker.io - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker login -u "$DOCKERHUB_USER" -p "$GITHUB_TOKEN" ghcr.io script: - echo "**** Build amd64 ****" - docker build - --tag "$CI_REGISTRY_IMAGE:amd64-develop" --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop" --tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop" --build-arg FOCAL_ARCH=amd64 @@ -31,12 +29,22 @@ test docker: --build-arg VERSION="$CI_COMMIT_SHORT_SHA" --build-arg OVERLAY_VERSION="$OVERLAY_VERSION" --build-arg OVERLAY_ARCH=amd64 . - - docker push "$CI_REGISTRY_IMAGE:amd64-develop" - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop" - docker push "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop" + - echo "**** Build armhf ****" + - docker build + --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop" + --tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop" + --build-arg FOCAL_ARCH=armhf + --build-arg FOCAL_RELEASE_DATE="$FOCAL_RELEASE_DATE" + --build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT" + --build-arg VERSION="$CI_COMMIT_SHORT_SHA" + --build-arg OVERLAY_VERSION="$OVERLAY_VERSION" + --build-arg OVERLAY_ARCH=arm . + - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop" + - docker push "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop" - echo "**** Build arm64 ****" - docker build - --tag "$CI_REGISTRY_IMAGE:arm64-develop" --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop" --tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop" --build-arg FOCAL_ARCH=arm64 @@ -45,19 +53,16 @@ test docker: --build-arg VERSION="$CI_COMMIT_SHORT_SHA" --build-arg OVERLAY_VERSION="$OVERLAY_VERSION" --build-arg OVERLAY_ARCH=aarch64 . - - docker push "$CI_REGISTRY_IMAGE:arm64-develop" - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop" - docker push "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop" - - echo "**** Create GitLab manifest ****" - - docker manifest create "$CI_REGISTRY_IMAGE:develop" "$CI_REGISTRY_IMAGE:amd64-develop" "$CI_REGISTRY_IMAGE:arm64-develop" - - docker manifest annotate "$CI_REGISTRY_IMAGE:develop" "$CI_REGISTRY_IMAGE:arm64-develop" --os linux --arch arm64 --variant v8 - - docker manifest push --purge "$CI_REGISTRY_IMAGE:develop" - echo "**** Create DockerHub manifest ****" - - docker manifest create "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop" + - docker manifest create "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop" + - docker manifest annotate "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop" --os linux --arch arm - docker manifest annotate "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop" --os linux --arch arm64 --variant v8 - docker manifest push --purge "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop" - echo "**** Create GitHub manifest ****" - - docker manifest create "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop" + - docker manifest create "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop" + - docker manifest annotate "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop" --os linux --arch arm - docker manifest annotate "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop" --os linux --arch arm64 --variant v8 - docker manifest push --purge "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop" except: @@ -100,13 +105,10 @@ build: OVERLAY_VERSION: "v2.2.0.3" before_script: - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_TOKEN" docker.io - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker login -u "$DOCKERHUB_USER" -p "$GITHUB_TOKEN" ghcr.io script: - echo "**** Build amd64 ****" - docker build - --tag "$CI_REGISTRY_IMAGE:amd64-latest" - --tag "$CI_REGISTRY_IMAGE:amd64-$CI_COMMIT_TAG" --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-latest" --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-$CI_COMMIT_TAG" --tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-latest" @@ -117,16 +119,28 @@ build: --build-arg VERSION="$CI_COMMIT_TAG" --build-arg OVERLAY_VERSION="$OVERLAY_VERSION" --build-arg OVERLAY_ARCH=amd64 . - - docker push "$CI_REGISTRY_IMAGE:amd64-latest" - - docker push "$CI_REGISTRY_IMAGE:amd64-$CI_COMMIT_TAG" - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-latest" - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-$CI_COMMIT_TAG" - docker push "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-latest" - docker push "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-$CI_COMMIT_TAG" + - echo "**** Build armhf ****" + - docker build + --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-latest" + --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-$CI_COMMIT_TAG" + --tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-latest" + --tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-$CI_COMMIT_TAG" + --build-arg FOCAL_ARCH=armhf + --build-arg FOCAL_RELEASE_DATE="$FOCAL_RELEASE_DATE" + --build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT" + --build-arg VERSION="$CI_COMMIT_TAG" + --build-arg OVERLAY_VERSION="$OVERLAY_VERSION" + --build-arg OVERLAY_ARCH=arm . + - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-latest" + - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-$CI_COMMIT_TAG" + - docker push "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-latest" + - docker push "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-$CI_COMMIT_TAG" - echo "**** Build arm64 ****" - docker build - --tag "$CI_REGISTRY_IMAGE:arm64-latest" - --tag "$CI_REGISTRY_IMAGE:arm64-$CI_COMMIT_TAG" --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest" --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG" --tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest" @@ -137,24 +151,26 @@ build: --build-arg VERSION="$CI_COMMIT_TAG" --build-arg OVERLAY_VERSION="$OVERLAY_VERSION" --build-arg OVERLAY_ARCH="aarch64" . - - docker push "$CI_REGISTRY_IMAGE:arm64-latest" - - docker push "$CI_REGISTRY_IMAGE:arm64-$CI_COMMIT_TAG" - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest" - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG" - docker push "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest" - docker push "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG" - echo "**** Create DockerHub manifest ****" - - docker manifest create "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-latest" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest" + - docker manifest create "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-latest" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-latest" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest" + - docker manifest annotate "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-latest" --os linux --arch arm - docker manifest annotate "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest" --os linux --arch arm64 --variant v8 - docker manifest push --purge "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest" - - docker manifest create "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-$CI_COMMIT_TAG" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG" + - docker manifest create "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-$CI_COMMIT_TAG" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-$CI_COMMIT_TAG" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG" + - docker manifest annotate "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-$CI_COMMIT_TAG" --os linux --arch arm - docker manifest annotate "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG" "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG" --os linux --arch arm64 --variant v8 - docker manifest push --purge "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG" - echo "**** Create GitHub manifest ****" - - docker manifest create "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-latest" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest" + - docker manifest create "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-latest" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-latest" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest" + - docker manifest annotate "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-latest" --os linux --arch arm - docker manifest annotate "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest" --os linux --arch arm64 --variant v8 - docker manifest push --purge "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest" - - docker manifest create "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-$CI_COMMIT_TAG" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG" + - docker manifest create "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-$CI_COMMIT_TAG" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-$CI_COMMIT_TAG" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG" + - docker manifest annotate "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-$CI_COMMIT_TAG" --os linux --arch arm - docker manifest annotate "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG" "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG" --os linux --arch arm64 --variant v8 - docker manifest push --purge "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG" only: