From ef0d4fddcec682f394e84aff9a2961d970d32553 Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 08:59:37 +0200 Subject: [PATCH 01/17] Trying to implement multi platform build --- .github/workflows/docker.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index d862b38e4..a495c27a5 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -38,8 +38,15 @@ jobs: with: path: ./out/ key: ${{ github.sha }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Build image - run: docker build . --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" + run: docker buildx build --platform linux/arm/v7,linux/amd64,linux/arm64 . --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" - name: Log in to registry From a4163e0eb554db24d2ce093ede03b5f50907c043 Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 09:06:45 +0200 Subject: [PATCH 02/17] Trying to implement manual restarts for the CI --- .github/workflows/docker.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index a495c27a5..4f0145cc5 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -5,6 +5,8 @@ on: tags: - v* +workflow_dispatch: + env: IMAGE_NAME: mhp From f5268835440241a3d84ac17fb27dcbcf12f92262 Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 09:10:00 +0200 Subject: [PATCH 03/17] Trying to implement manual restarts for the CI --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 4f0145cc5..278dde98c 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,4 +1,4 @@ -name: Demo Push +name: Build and publish Docker image on: push: From 49e454b6ce8c5be42b26e4bfa7857d285abadd36 Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 09:12:43 +0200 Subject: [PATCH 04/17] Trying to implement manual restarts for the CI --- .github/workflows/docker.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 278dde98c..b556f72e2 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -4,8 +4,12 @@ on: push: tags: - v* - -workflow_dispatch: + workflow_dispatch: + inputs: + - IMAGE_NAME: + description: The name of the image to build and publish + required: false + default: mhp env: IMAGE_NAME: mhp From 7ba85aeb4e13bb0fcd787e8ffe2a67c3944d4304 Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 09:13:36 +0200 Subject: [PATCH 05/17] Trying to implement manual restarts for the CI --- .github/workflows/docker.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index b556f72e2..da7b10e35 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,15 +1,10 @@ name: Build and publish Docker image -on: +on: push: tags: - v* workflow_dispatch: - inputs: - - IMAGE_NAME: - description: The name of the image to build and publish - required: false - default: mhp env: IMAGE_NAME: mhp @@ -74,4 +69,4 @@ jobs: docker tag $IMAGE_NAME $IMAGE_ID:$VERSION docker push $IMAGE_ID:$VERSION docker tag $IMAGE_NAME $IMAGE_ID:latest - docker push $IMAGE_ID:latest \ No newline at end of file + docker push $IMAGE_ID:latest From 4210a455c64cf0ef7c066776ba5c011f9ac26880 Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 09:19:28 +0200 Subject: [PATCH 06/17] Trying to implement manual restarts for the CI --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index da7b10e35..87b191ced 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -47,7 +47,7 @@ jobs: uses: docker/setup-buildx-action@v2 - name: Build image - run: docker buildx build --platform linux/arm/v7,linux/amd64,linux/arm64 . --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" + run: docker buildx build --platform linux/arm/v7,linux/amd64,linux/arm64 . --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" --push - name: Log in to registry From c8cbb3724772bc7c2e99fd2ee8810c12b29cb79f Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 09:32:03 +0200 Subject: [PATCH 07/17] Add load flag to Github Ci --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 87b191ced..ec090e180 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -47,7 +47,7 @@ jobs: uses: docker/setup-buildx-action@v2 - name: Build image - run: docker buildx build --platform linux/arm/v7,linux/amd64,linux/arm64 . --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" --push + run: docker buildx build --platform linux/arm/v7,linux/amd64,linux/arm64 . --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" --load - name: Log in to registry From 45cb417e7617fc92f9f10307d4a956eedc66a118 Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 09:46:07 +0200 Subject: [PATCH 08/17] Add load flag to Github Ci --- .github/workflows/docker.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ec090e180..4f82a0bb0 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -46,12 +46,19 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Build image - run: docker buildx build --platform linux/arm/v7,linux/amd64,linux/arm64 . --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" --load - - name: Log in to registry - run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin + + - + name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64,linux/arm64,linux/arm/v7 + push: false + tags: $IMAGE_NAME + + - name: Push image run: | IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME From a3d6d876a830eeb9dbda27d120f15d76c030afee Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 09:46:50 +0200 Subject: [PATCH 09/17] Add load flag to Github Ci --- .github/workflows/docker.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 4f82a0bb0..31f2f03f7 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -49,8 +49,7 @@ jobs: - name: Log in to registry run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin - - - name: Build and push + - name: Build and push uses: docker/build-push-action@v3 with: context: . From 7b6ecdf3fced5ea45f5405d226b442298cdbc42a Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 09:51:05 +0200 Subject: [PATCH 10/17] Add load flag to Github Ci --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 31f2f03f7..48e023a53 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -55,7 +55,7 @@ jobs: context: . platforms: linux/amd64,linux/arm64,linux/arm/v7 push: false - tags: $IMAGE_NAME + tags: mhp - name: Push image From 79311b794e982bf17cf5fffa3c941f54ffccece1 Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 10:01:19 +0200 Subject: [PATCH 11/17] Add load flag to Github Ci --- .github/workflows/docker.yml | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 48e023a53..c7e2d4682 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -54,25 +54,5 @@ jobs: with: context: . platforms: linux/amd64,linux/arm64,linux/arm/v7 - push: false - tags: mhp - - - - name: Push image - run: | - IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME - - # Change all uppercase to lowercase - IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') - # Strip git ref prefix from version - VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') - # Strip "v" prefix from tag name - [[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') - # Use Docker `latest` tag convention - [ "$VERSION" == "master" ] && VERSION=latest - echo IMAGE_ID=$IMAGE_ID - echo VERSION=$VERSION - docker tag $IMAGE_NAME $IMAGE_ID:$VERSION - docker push $IMAGE_ID:$VERSION - docker tag $IMAGE_NAME $IMAGE_ID:latest - docker push $IMAGE_ID:latest + push: true + tags: [ghcr.io/ajnart/mhp:latest, ghcr.io/ajnart/mhp:${{ github.ref }}] \ No newline at end of file From 16ffd545a648fd0678e7b842b537f3a61959d98f Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 10:06:29 +0200 Subject: [PATCH 12/17] Trying a completely new Docker CI --- .github/workflows/docker.yml | 56 +++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index c7e2d4682..10a503c25 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -25,34 +25,50 @@ jobs: path: ./out/ key: ${{ github.sha }} - push: + docker: runs-on: ubuntu-latest - needs: [build] - permissions: - packages: write - contents: read - steps: - - uses: actions/checkout@v3 - - uses: actions/cache@v2 - id: restore-build + - name: Checkout + uses: actions/checkout@v2 + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 with: - path: ./out/ - key: ${{ github.sha }} - + # list of Docker images to use as base name for tags + images: | + ajnart/mhp + ghcr.io/ajnart/mhp + # generate Docker tags based on the following events/attributes + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha - name: Set up QEMU uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - - name: Log in to registry - run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin - + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Login to GHCR + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v3 with: - context: . platforms: linux/amd64,linux/arm64,linux/arm/v7 - push: true - tags: [ghcr.io/ajnart/mhp:latest, ghcr.io/ajnart/mhp:${{ github.ref }}] \ No newline at end of file + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} From 838fc3ae3ac9b8e5ea040cf19ff1ffd25397188e Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 10:08:02 +0200 Subject: [PATCH 13/17] Add needs to completion after build --- .github/workflows/docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 10a503c25..682216a0c 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -26,6 +26,7 @@ jobs: key: ${{ github.sha }} docker: + needs: [build] runs-on: ubuntu-latest steps: - name: Checkout From a5b3ccc756f304bc1796f5f10067cf0823f17cf9 Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 10:16:28 +0200 Subject: [PATCH 14/17] Add needs to completion after build --- .github/workflows/docker.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 682216a0c..ac5f1630f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -31,6 +31,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 + - uses: actions/cache@v2 + id: restore-build + with: + path: ./out/ + key: ${{ github.sha }} - name: Docker meta id: meta uses: docker/metadata-action@v4 @@ -65,6 +70,7 @@ jobs: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push uses: docker/build-push-action@v3 with: From 22564e5593a8e3e16ec13d6e13a80ae22a759c1e Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 10:20:47 +0200 Subject: [PATCH 15/17] Add needs to completion after build --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ac5f1630f..4fc7526ae 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -77,5 +77,5 @@ jobs: platforms: linux/amd64,linux/arm64,linux/arm/v7 context: . push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }} + tags: ${{ steps.meta.outputs.tags }}, latest labels: ${{ steps.meta.outputs.labels }} From 161319ea4eecab3e37830dfcd22bbdc5bf950c5a Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 10:25:47 +0200 Subject: [PATCH 16/17] Add needs to completion after build --- .github/workflows/docker.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 4fc7526ae..7251e9b7f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -28,6 +28,9 @@ jobs: docker: needs: [build] runs-on: ubuntu-latest + permissions: + packages: write + contents: read steps: - name: Checkout uses: actions/checkout@v2 From d05d9b6e81dfaec49248f3aa528ce9d07cc06354 Mon Sep 17 00:00:00 2001 From: Aj - Thomas Date: Wed, 11 May 2022 10:53:44 +0200 Subject: [PATCH 17/17] Add needs to completion after build --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 7251e9b7f..846055bdb 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -80,5 +80,5 @@ jobs: platforms: linux/amd64,linux/arm64,linux/arm/v7 context: . push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }}, latest + tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }}