Skip to content
Snippets Groups Projects
Commit d94b9f73 authored by Griefed's avatar Griefed :joystick:
Browse files

ci: Move Docker build for GitHub container registry to GitLab

parent a5307ebd
No related branches found
No related tags found
No related merge requests found
......@@ -40,26 +40,4 @@ jobs:
**Changes in this release:**
${{ steps.conventional_changelog.outputs.changelog }}
draft: false
prerelease: false
# DOCKER RELATED
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.CR_PAT }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm/v7,linux/arm64
push: true
tags: |
ghcr.io/${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:latest
ghcr.io/${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:${{steps.tag.outputs.tag}}
prerelease: false
\ No newline at end of file
......@@ -18,10 +18,13 @@ test docker:
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
--build-arg FOCAL_RELEASE_DATE="$FOCAL_RELEASE_DATE"
--build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
......@@ -30,9 +33,12 @@ test docker:
--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 "$CI_REGISTRY_IMAGE:armhf-develop"
--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"
......@@ -41,9 +47,12 @@ test docker:
--build-arg OVERLAY_ARCH=arm .
- docker push "$CI_REGISTRY_IMAGE:armhf-develop"
- 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
--build-arg FOCAL_RELEASE_DATE="$FOCAL_RELEASE_DATE"
--build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
......@@ -52,14 +61,22 @@ test docker:
--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:armhf-develop" "$CI_REGISTRY_IMAGE:arm64-develop"
- docker manifest annotate "$CI_REGISTRY_IMAGE:develop" "$CI_REGISTRY_IMAGE:armhf-develop" --os linux --arch arm
- 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: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: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:
refs:
- tags
......@@ -101,12 +118,16 @@ build:
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"
--tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-$CI_COMMIT_TAG"
--build-arg FOCAL_ARCH=amd64
--build-arg FOCAL_RELEASE_DATE="$FOCAL_RELEASE_DATE"
--build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
......@@ -117,11 +138,16 @@ build:
- 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 "$CI_REGISTRY_IMAGE:armhf-latest"
--tag "$CI_REGISTRY_IMAGE:armhf-$CI_COMMIT_TAG"
--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"
......@@ -132,11 +158,16 @@ build:
- docker push "$CI_REGISTRY_IMAGE:armhf-$CI_COMMIT_TAG"
- 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"
--tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG"
--build-arg FOCAL_ARCH=arm64
--build-arg FOCAL_RELEASE_DATE="$FOCAL_RELEASE_DATE"
--build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
......@@ -147,6 +178,9 @@ build:
- 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 GitLab manifest ****"
- docker manifest create "$CI_REGISTRY_IMAGE:latest" "$CI_REGISTRY_IMAGE:amd64-latest" "$CI_REGISTRY_IMAGE:armhf-latest" "$CI_REGISTRY_IMAGE:arm64-latest"
- docker manifest annotate "$CI_REGISTRY_IMAGE:latest" "$CI_REGISTRY_IMAGE:armhf-latest" --os linux --arch arm
- docker manifest annotate "$CI_REGISTRY_IMAGE:latest" "$CI_REGISTRY_IMAGE:arm64-latest" --os linux --arch arm64 --variant v8
......@@ -155,6 +189,7 @@ build:
- docker manifest annotate "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG" "$CI_REGISTRY_IMAGE:armhf-$CI_COMMIT_TAG" --os linux --arch arm
- docker manifest annotate "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG" "$CI_REGISTRY_IMAGE:arm64-$CI_COMMIT_TAG" --os linux --arch arm64 --variant v8
- docker manifest push --purge "$CI_REGISTRY_IMAGE:$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: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
......@@ -163,5 +198,14 @@ build:
- 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: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: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:
- tags
\ No newline at end of file
......@@ -83,13 +83,16 @@ generateNotes:
hidden: false
- type: 'perf'
section: ' Performance'
hidden: false
- type: 'refactor'
section: ':scissors: Refactor'
hidden: false
- type: 'revert'
section: '👀 Reverts'
hidden: false
- type: 'style'
section: '💈 Style'
hidden: false
- type: 'test'
section: '🧪 Tests'
hidden: false
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment