From b04422c870f832d3b07528eba662e47114bdcb51 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 25 Jul 2024 23:52:21 +0900 Subject: [PATCH 01/83] Add GitHub Actions workflow for multi-arch Docker build --- .github/workflows/build.yml | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..12a341dc --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,48 @@ +--- +name: Build and Push Multi-Arch Docker Image + +on: + push: + branches: + - multi-arch-docker-build + pull_request: + branches: + - multi-arch-docker-build + +env: + REGISTRY_IMAGE: mlenergy/zeus:master + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + platform: + - linux/amd64 + - linux/arm64 + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY_IMAGE }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + platforms: ${{ matrix.platform }} + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} From 8bacff9460b5e45300d2dde28cc4895e5683dbba Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 16:29:07 +0900 Subject: [PATCH 02/83] Edited build action version --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 12a341dc..2a175306 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v4 + uses: docker/setup-buildx-action@v2 - name: Set up QEMU uses: docker/setup-qemu-action@v2 From 1626d4b9adf744a9d2e26b69d569eb1d7f4f4963 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 16:41:46 +0900 Subject: [PATCH 03/83] Add GitHub Actions workflow for multi-arch Docker build --- .github/workflows/push_docker.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 15a81e58..4335b050 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -19,10 +19,21 @@ on: - 'setup.py' - 'pyproject.toml' + pull_request: + branches: + - multi-arch-docker-build + jobs: build_and_push: if: github.repository_owner == 'ml-energy' runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + platform: + - linux/amd64 + - linux/arm64 + steps: - name: Remove unnecessary files run: | @@ -61,3 +72,5 @@ jobs: cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max build-args: TARGETARCH=amd64 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 From 8c343dbc53ad09e7a90fb88a38c09374152387e6 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 17:01:07 +0900 Subject: [PATCH 04/83] Modified tag formats --- .github/workflows/push_docker.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 4335b050..9ff3be44 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -58,10 +58,12 @@ jobs: tags: | type=ref,event=branch type=ref,event=tag + type=schedule + type=sha - name: Setup Docker Buildx uses: docker/setup-buildx-action@v2 - name: Build and push to Docker Hub - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v4 with: context: . file: docker/Dockerfile @@ -72,5 +74,7 @@ jobs: cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max build-args: TARGETARCH=amd64 + platforms: ${{ matrix.platform }} + - name: Set up QEMU uses: docker/setup-qemu-action@v2 From fef905096e3af654ad6148dc7d5fe476c2fbfa51 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 17:01:44 +0900 Subject: [PATCH 05/83] Removed unneccessary file build.yml -> push_docker.yaml --- .github/workflows/build.yml | 48 ------------------------------------- 1 file changed, 48 deletions(-) delete mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 2a175306..00000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,48 +0,0 @@ ---- -name: Build and Push Multi-Arch Docker Image - -on: - push: - branches: - - multi-arch-docker-build - pull_request: - branches: - - multi-arch-docker-build - -env: - REGISTRY_IMAGE: mlenergy/zeus:master - -jobs: - build: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - platform: - - linux/amd64 - - linux/arm64 - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - images: ${{ env.REGISTRY_IMAGE }} - - - name: Build and push - uses: docker/build-push-action@v4 - with: - context: . - platforms: ${{ matrix.platform }} - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} From 085b527bcff5fd1bc898ebcbac67866ae70d3c4d Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 17:03:28 +0900 Subject: [PATCH 06/83] Removed docker login part --- .github/workflows/push_docker.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 9ff3be44..b184c094 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -43,11 +43,6 @@ jobs: sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Checkout repository uses: actions/checkout@v3 - - name: Docker Hub login - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKER_HUB_USERNAME }} - password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Generate image metadata id: meta uses: docker/metadata-action@v4 From 6adaad9b9a6450550732dbcc6207dbc5f06e81fd Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 17:16:53 +0900 Subject: [PATCH 07/83] Fixed syntax error --- .github/workflows/push_docker.yaml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index b184c094..61dd7ac2 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -18,16 +18,15 @@ on: - 'LICENSE' - 'setup.py' - 'pyproject.toml' - - pull_request: - branches: - - multi-arch-docker-build + pull_request: + branches: + - multi-arch-docker-build jobs: build_and_push: if: github.repository_owner == 'ml-energy' runs-on: ubuntu-latest - strategy: + strategy: fail-fast: false matrix: platform: @@ -53,7 +52,7 @@ jobs: tags: | type=ref,event=branch type=ref,event=tag - type=schedule + type=schedule type=sha - name: Setup Docker Buildx uses: docker/setup-buildx-action@v2 @@ -62,14 +61,13 @@ jobs: with: context: . file: docker/Dockerfile - builder: ${{ steps.buildx.outputs.name }} push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max build-args: TARGETARCH=amd64 - platforms: ${{ matrix.platform }} + platforms: ${{ matrix.platform }} - - name: Set up QEMU + - name: Set up QEMU uses: docker/setup-qemu-action@v2 From 4a9b348f0e2e1e9ad01a1701ac03daacb950a983 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 17:22:44 +0900 Subject: [PATCH 08/83] Added docker login --- .github/workflows/push_docker.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 61dd7ac2..8102a592 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -54,6 +54,11 @@ jobs: type=ref,event=tag type=schedule type=sha + - name: Docker Hub login + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Setup Docker Buildx uses: docker/setup-buildx-action@v2 - name: Build and push to Docker Hub From e73c8a7f4f57dbd3576b674bfe8c466bb476fda7 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 17:23:51 +0900 Subject: [PATCH 09/83] Fixed syntax error --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 8102a592..98121a1d 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -54,7 +54,7 @@ jobs: type=ref,event=tag type=schedule type=sha - - name: Docker Hub login + - name: Docker Hub login uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} From 6f70a0e2e02eba0bc53121569325d3f163161fb8 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 17:25:18 +0900 Subject: [PATCH 10/83] Added master branch for the workflow --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 98121a1d..8d34bbb6 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -21,7 +21,7 @@ on: pull_request: branches: - multi-arch-docker-build - + - master jobs: build_and_push: if: github.repository_owner == 'ml-energy' From 2244b555705759e5f0b2c4f7b9b68b00e9a9dc6e Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 17:33:20 +0900 Subject: [PATCH 11/83] Build Trial --- .github/workflows/push_docker.yaml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 8d34bbb6..32d8c69e 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -21,7 +21,6 @@ on: pull_request: branches: - multi-arch-docker-build - - master jobs: build_and_push: if: github.repository_owner == 'ml-energy' @@ -54,11 +53,6 @@ jobs: type=ref,event=tag type=schedule type=sha - - name: Docker Hub login - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKER_HUB_USERNAME }} - password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Setup Docker Buildx uses: docker/setup-buildx-action@v2 - name: Build and push to Docker Hub @@ -66,7 +60,7 @@ jobs: with: context: . file: docker/Dockerfile - push: true + push: false tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=registry,ref=mlenergy/zeus:buildcache From 5a6dc5e740574d45f23a3980910975c56b3609bd Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 17:35:03 +0900 Subject: [PATCH 12/83] Build Trial --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 32d8c69e..07fa1afb 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -3,7 +3,7 @@ name: Push Docker image on: push: branches: - - master + - multi-arch-docker-build tags: - zeus-v* paths: From 412b8ed2078790c4876a918d753066e5c2c7bade Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 17:52:21 +0900 Subject: [PATCH 13/83] Version control --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 07fa1afb..ed63784c 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -43,7 +43,7 @@ jobs: uses: actions/checkout@v3 - name: Generate image metadata id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: | symbioticlab/zeus From 9b12b2455f1f8bd7469f44bedb1ca824212caa54 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 17:58:59 +0900 Subject: [PATCH 14/83] Version control --- .github/workflows/push_docker.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index ed63784c..5a8273da 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -40,7 +40,7 @@ jobs: sudo rm -rf "/usr/local/share/boost" sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Generate image metadata id: meta uses: docker/metadata-action@v5 @@ -54,9 +54,9 @@ jobs: type=schedule type=sha - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Build and push to Docker Hub - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: context: . file: docker/Dockerfile @@ -69,4 +69,4 @@ jobs: platforms: ${{ matrix.platform }} - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 From 031af2e0e5ed8b14d40ba287b61f3ee0e1e640c4 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 18:21:55 +0900 Subject: [PATCH 15/83] Workflow order modified --- .github/workflows/push_docker.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 5a8273da..c995289b 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -41,6 +41,10 @@ jobs: sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Checkout repository uses: actions/checkout@v4 + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 - name: Generate image metadata id: meta uses: docker/metadata-action@v5 @@ -53,8 +57,6 @@ jobs: type=ref,event=tag type=schedule type=sha - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v3 - name: Build and push to Docker Hub uses: docker/build-push-action@v5 with: @@ -68,5 +70,3 @@ jobs: build-args: TARGETARCH=amd64 platforms: ${{ matrix.platform }} - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 From bfed73f8f26bf183b768e5143c475d7756474052 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Fri, 26 Jul 2024 22:11:15 +0900 Subject: [PATCH 16/83] Removed build-args --- .github/workflows/push_docker.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index c995289b..4238da53 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -67,6 +67,5 @@ jobs: labels: ${{ steps.meta.outputs.labels }} cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max - build-args: TARGETARCH=amd64 platforms: ${{ matrix.platform }} From 352b13336c45ff11a65644303337cc538004133b Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Tue, 30 Jul 2024 10:22:44 +0900 Subject: [PATCH 17/83] Changed the branch to the master --- .github/workflows/push_docker.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 4238da53..6339a7de 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -3,7 +3,7 @@ name: Push Docker image on: push: branches: - - multi-arch-docker-build + - master tags: - zeus-v* paths: @@ -18,9 +18,6 @@ on: - 'LICENSE' - 'setup.py' - 'pyproject.toml' - pull_request: - branches: - - multi-arch-docker-build jobs: build_and_push: if: github.repository_owner == 'ml-energy' @@ -41,6 +38,11 @@ jobs: sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Checkout repository uses: actions/checkout@v4 + - name: Docker Hub login + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Setup Docker Buildx uses: docker/setup-buildx-action@v3 - name: Set up QEMU @@ -55,8 +57,6 @@ jobs: tags: | type=ref,event=branch type=ref,event=tag - type=schedule - type=sha - name: Build and push to Docker Hub uses: docker/build-push-action@v5 with: From 8edef7fe712620aa49e1da96b19df3eba0d5a913 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Wed, 31 Jul 2024 14:51:14 +0900 Subject: [PATCH 18/83] Modified build-push-action to directly specify the platform --- .github/workflows/push_docker.yaml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 6339a7de..19fa3709 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -22,12 +22,6 @@ jobs: build_and_push: if: github.repository_owner == 'ml-energy' runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - platform: - - linux/amd64 - - linux/arm64 steps: - name: Remove unnecessary files @@ -62,10 +56,10 @@ jobs: with: context: . file: docker/Dockerfile - push: false + push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max - platforms: ${{ matrix.platform }} + platforms: linux/amd64,linux/arm64 From 860ef41e9ee1fdbf8a1e4002193bdda86d213110 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Wed, 31 Jul 2024 14:55:03 +0900 Subject: [PATCH 19/83] Added branch multi-arch-docker-build to push section in order to test the workflow --- .github/workflows/push_docker.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 19fa3709..7374c619 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -4,6 +4,7 @@ on: push: branches: - master + - multi-arch-docker-build tags: - zeus-v* paths: From f254c13f233d8c97684b69dd7006f004ce111f82 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Wed, 31 Jul 2024 14:56:25 +0900 Subject: [PATCH 20/83] Syntax error fixed --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 7374c619..51823d9e 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -4,7 +4,7 @@ on: push: branches: - master - - multi-arch-docker-build + - multi-arch-docker-build tags: - zeus-v* paths: From bee29273195010a3edf79335123ca5cce14f7d61 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Wed, 31 Jul 2024 20:56:55 +0900 Subject: [PATCH 21/83] Workflow modified to enavle distribute build across multiple runners --- .github/workflows/push_docker.yaml | 60 +++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 51823d9e..a9d3b6e6 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -19,10 +19,19 @@ on: - 'LICENSE' - 'setup.py' - 'pyproject.toml' + +env: + REGISTRY_IMAGE: mlenergy/zeus jobs: build_and_push: if: github.repository_owner == 'ml-energy' runs-on: ubuntu-latest + strategy: + fail-fast: true + matrix: + platform: + - linux/amd64 + - linux/arm64 steps: - name: Remove unnecessary files @@ -53,6 +62,7 @@ jobs: type=ref,event=branch type=ref,event=tag - name: Build and push to Docker Hub + id: build uses: docker/build-push-action@v5 with: context: . @@ -62,5 +72,53 @@ jobs: labels: ${{ steps.meta.outputs.labels }} cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max - platforms: linux/amd64,linux/arm64 + platforms: ${{ matrix.platform }} + outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + - name: Export digest + run: | + mkdir -p /tmp/digests + digest="${{ steps.build.outputs.digest }}" + touch "/tmp/digests/${digest#sha256:}" + - name: Upload digest + uses: actions/upload-artifact@v4 + with: + name: digests-${{ env.PLATFORM_PAIR }} + path: /tmp/digests/* + if-no-files-found: error + retention-days: 1 + merge: + runs-on: ubuntu-latest + needs: build_and_push + steps: + - name: Download digests + uses: actions/download-artifact@v4 + with: + path: /tmp/digests + pattern: digests-* + merge-multiple: true + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY_IMAGE }} + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ vars.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + + - name: Create manifest list and push + working-directory: /tmp/digests + run: | + docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ + $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *) + + - name: Inspect image + run: | + docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} From 7b33c0736156c78ba0c7bbbaede3500e938c6472 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Wed, 31 Jul 2024 21:03:13 +0900 Subject: [PATCH 22/83] Removed push-by-digest --- .github/workflows/push_docker.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index a9d3b6e6..da9ca700 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -73,7 +73,6 @@ jobs: cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max platforms: ${{ matrix.platform }} - outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - name: Export digest run: | mkdir -p /tmp/digests From 7b38f14421197a41f30e9e1f1cd9cd459f11fe33 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Wed, 31 Jul 2024 21:11:48 +0900 Subject: [PATCH 23/83] Downgraded the version for upload-artifact in order to upload to same artifact name from multiple jobs --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index da9ca700..cc0178c7 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -79,7 +79,7 @@ jobs: digest="${{ steps.build.outputs.digest }}" touch "/tmp/digests/${digest#sha256:}" - name: Upload digest - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v3 with: name: digests-${{ env.PLATFORM_PAIR }} path: /tmp/digests/* From 608a31a90747c4fdefbbf40856b69af602d24017 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Wed, 31 Jul 2024 21:21:32 +0900 Subject: [PATCH 24/83] Modified the username for docker login --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index cc0178c7..5918bd71 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -109,7 +109,7 @@ jobs: - name: Login to Docker Hub uses: docker/login-action@v3 with: - username: ${{ vars.DOCKERHUB_USERNAME }} + username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Create manifest list and push From 2c95e8b85ee2f3848da184e64caea2668438cdc8 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Wed, 31 Jul 2024 21:35:10 +0900 Subject: [PATCH 25/83] Syntax error fixed --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 5918bd71..6b872522 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -109,7 +109,7 @@ jobs: - name: Login to Docker Hub uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} + username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Create manifest list and push From bb5c4a67fb75e4e20ad08ddf2d6a8a3f23276751 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 01:22:19 +0900 Subject: [PATCH 26/83] Added a step to create /tmp/digests directory before using it in both jobs --- .github/workflows/push_docker.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 6b872522..1db8b6c4 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -90,6 +90,8 @@ jobs: runs-on: ubuntu-latest needs: build_and_push steps: + - name: Create /tmp/digests directory + run: mkdir -p /tmp/digests - name: Download digests uses: actions/download-artifact@v4 with: From ec8c103781747233761ef0a43a612639e0f0f8a1 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 01:31:56 +0900 Subject: [PATCH 27/83] Syntax error fixed --- .github/workflows/push_docker.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 1db8b6c4..e0082915 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -90,8 +90,9 @@ jobs: runs-on: ubuntu-latest needs: build_and_push steps: - - name: Create /tmp/digests directory - run: mkdir -p /tmp/digests + - name: Create directory + run: | + mkdir -p /tmp/digests - name: Download digests uses: actions/download-artifact@v4 with: From 57865c22bc5d4c24b37c5d7a104db0645716667e Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 13:22:32 +0900 Subject: [PATCH 28/83] Added outputs parameter for capturing the digest --- .github/workflows/push_docker.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index e0082915..020ded3b 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -73,6 +73,7 @@ jobs: cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max platforms: ${{ matrix.platform }} + outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - name: Export digest run: | mkdir -p /tmp/digests From 1314ea610196726b6d5cbfea9c1aab4236562b13 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 13:23:49 +0900 Subject: [PATCH 29/83] Syntax error fixed --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 020ded3b..70be1d27 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -73,7 +73,7 @@ jobs: cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max platforms: ${{ matrix.platform }} - outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - name: Export digest run: | mkdir -p /tmp/digests From 69a0fc6b3c308c6891dd5fb914018e9f90a52c23 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 13:31:31 +0900 Subject: [PATCH 30/83] Removed manual tags option --- .github/workflows/push_docker.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 70be1d27..ec48d52e 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -67,8 +67,8 @@ jobs: with: context: . file: docker/Dockerfile - push: true - tags: ${{ steps.meta.outputs.tags }} + #push: true + #tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max From df86aa85eafa55070692150a3dcc0285da08afc1 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 13:50:20 +0900 Subject: [PATCH 31/83] Defined environment variable PLATFORM_PAIR --- .github/workflows/push_docker.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index ec48d52e..e806562e 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -40,6 +40,10 @@ jobs: sudo rm -rf /opt/ghc sudo rm -rf "/usr/local/share/boost" sudo rm -rf "$AGENT_TOOLSDIRECTORY" + - name: Prepare + run: | + platform=${{ matrix.platform }} + echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV - name: Checkout repository uses: actions/checkout@v4 - name: Docker Hub login From db2f55c83e53a00941aa17cdfdf0440c1d1c0400 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 14:47:47 +0900 Subject: [PATCH 32/83] Seperated commands for creating manifest list --- .github/workflows/push_docker.yaml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index e806562e..725cf035 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -40,10 +40,6 @@ jobs: sudo rm -rf /opt/ghc sudo rm -rf "/usr/local/share/boost" sudo rm -rf "$AGENT_TOOLSDIRECTORY" - - name: Prepare - run: | - platform=${{ matrix.platform }} - echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV - name: Checkout repository uses: actions/checkout@v4 - name: Docker Hub login @@ -65,7 +61,7 @@ jobs: tags: | type=ref,event=branch type=ref,event=tag - - name: Build and push to Docker Hub + - name: Build and push by digest id: build uses: docker/build-push-action@v5 with: @@ -86,7 +82,7 @@ jobs: - name: Upload digest uses: actions/upload-artifact@v3 with: - name: digests-${{ env.PLATFORM_PAIR }} + name: digests-${{ matrix.platform }} path: /tmp/digests/* if-no-files-found: error retention-days: 1 @@ -123,8 +119,16 @@ jobs: - name: Create manifest list and push working-directory: /tmp/digests run: | - docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ - $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *) + set -x + tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") + #digests=$(ls /tmp/digests/*.digest | xargs cat) + cmd="docker buildx imagetools create $tags" + for digest_file in /tmp/digests/*.digest; do + digest=$(cat "$digest_file") + cmd="$cmd ${env.REGISTRY_IMAGE}@sha256:$digest" + done + #docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ + # $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *) - name: Inspect image run: | From 99ffbd70328646ffbad4171b37bdf16f5377b30f Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 15:27:10 +0900 Subject: [PATCH 33/83] Added - name: Prepare --- .github/workflows/push_docker.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 725cf035..0cd75ce1 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -40,6 +40,10 @@ jobs: sudo rm -rf /opt/ghc sudo rm -rf "/usr/local/share/boost" sudo rm -rf "$AGENT_TOOLSDIRECTORY" + - name: Prepare + run: | + platform=${{ matrix.platform }} + echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV - name: Checkout repository uses: actions/checkout@v4 - name: Docker Hub login @@ -82,7 +86,7 @@ jobs: - name: Upload digest uses: actions/upload-artifact@v3 with: - name: digests-${{ matrix.platform }} + name: digests-${{ env.PLATFORM_PAIR }} path: /tmp/digests/* if-no-files-found: error retention-days: 1 From b014f4f218bacb0db5f9f4e772a6099fd2725e7b Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 15:51:23 +0900 Subject: [PATCH 34/83] Additional directory creation deleted --- .github/workflows/push_docker.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 0cd75ce1..79b393e0 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -95,9 +95,9 @@ jobs: runs-on: ubuntu-latest needs: build_and_push steps: - - name: Create directory - run: | - mkdir -p /tmp/digests + #- name: Create directory + # run: | + # mkdir -p /tmp/digests - name: Download digests uses: actions/download-artifact@v4 with: From 1058e7e145df3dcb4440c1598a6e3e9737225e1d Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 16:49:21 +0900 Subject: [PATCH 35/83] Modified export command from touch to echo --- .github/workflows/push_docker.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 79b393e0..47595453 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -82,7 +82,8 @@ jobs: run: | mkdir -p /tmp/digests digest="${{ steps.build.outputs.digest }}" - touch "/tmp/digests/${digest#sha256:}" + echo "$digest" > "/tmp/digests/${digest#sha256:}.digest" + #touch "/tmp/digests/${digest#sha256:}" - name: Upload digest uses: actions/upload-artifact@v3 with: @@ -95,9 +96,9 @@ jobs: runs-on: ubuntu-latest needs: build_and_push steps: - #- name: Create directory - # run: | - # mkdir -p /tmp/digests + - name: Create directory + run: | + mkdir -p /tmp/digests - name: Download digests uses: actions/download-artifact@v4 with: @@ -123,12 +124,11 @@ jobs: - name: Create manifest list and push working-directory: /tmp/digests run: | - set -x + #set -x tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") - #digests=$(ls /tmp/digests/*.digest | xargs cat) + digests=$(ls /tmp/digests/*.digest | xargs cat) cmd="docker buildx imagetools create $tags" - for digest_file in /tmp/digests/*.digest; do - digest=$(cat "$digest_file") + for digest in $digests; do cmd="$cmd ${env.REGISTRY_IMAGE}@sha256:$digest" done #docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ From f43b19da052c7a7847970adbbe0e795483cbd3c8 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 17:01:07 +0900 Subject: [PATCH 36/83] Shorten the code for creating manifest list --- .github/workflows/push_docker.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 47595453..12873a42 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -125,14 +125,14 @@ jobs: working-directory: /tmp/digests run: | #set -x - tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") - digests=$(ls /tmp/digests/*.digest | xargs cat) - cmd="docker buildx imagetools create $tags" - for digest in $digests; do - cmd="$cmd ${env.REGISTRY_IMAGE}@sha256:$digest" - done - #docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ - # $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *) + #tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") + #digests=$(ls /tmp/digests/*.digest | xargs cat) + #cmd="docker buildx imagetools create $tags" + #for digest in $digests; do + # cmd="$cmd ${env.REGISTRY_IMAGE}@sha256:$digest" + #done + docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ + $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *) - name: Inspect image run: | From 9f6540b7550b6b539b76d7be1d5d92a41fa7bbde Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 17:14:45 +0900 Subject: [PATCH 37/83] Syntax error fixed --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 12873a42..77837d28 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -132,7 +132,7 @@ jobs: # cmd="$cmd ${env.REGISTRY_IMAGE}@sha256:$digest" #done docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ - $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *) + $(printf '${{ env.REGISTRY_IMAGE }}@sha256:$digest') - name: Inspect image run: | From 8de8170d76cc31700774d71606f3350b0c365c20 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 17:27:35 +0900 Subject: [PATCH 38/83] Added a line to look for the files /tmp/digests/*.digest --- .github/workflows/push_docker.yaml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 77837d28..a48997a3 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -105,6 +105,8 @@ jobs: path: /tmp/digests pattern: digests-* merge-multiple: true + - name: List files in /tmp/digests + run: ls -l /tmp/digests - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -124,15 +126,14 @@ jobs: - name: Create manifest list and push working-directory: /tmp/digests run: | - #set -x - #tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") - #digests=$(ls /tmp/digests/*.digest | xargs cat) - #cmd="docker buildx imagetools create $tags" - #for digest in $digests; do - # cmd="$cmd ${env.REGISTRY_IMAGE}@sha256:$digest" - #done - docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ - $(printf '${{ env.REGISTRY_IMAGE }}@sha256:$digest') + tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") + digests=$(ls /tmp/digests/*.digest | xargs cat) + cmd="docker buildx imagetools create $tags" + for digest in $digests; do + cmd="$cmd ${env.REGISTRY_IMAGE}@sha256:$digest" + done + #docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ + # $(printf '${{ env.REGISTRY_IMAGE }}@sha256:$digest') - name: Inspect image run: | From bc19e06c6a08ad4688cbe48c74b2533d2b79a1ab Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 17:31:30 +0900 Subject: [PATCH 39/83] eval command added for execution of the command --- .github/workflows/push_docker.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index a48997a3..425c8c6c 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -132,6 +132,7 @@ jobs: for digest in $digests; do cmd="$cmd ${env.REGISTRY_IMAGE}@sha256:$digest" done + eval $cmd #docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ # $(printf '${{ env.REGISTRY_IMAGE }}@sha256:$digest') From ef61bd47c6ed917c7f70d13017b53c74a0bb9452 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 19:46:32 +0900 Subject: [PATCH 40/83] Specified digests' name directly when downloading --- .github/workflows/push_docker.yaml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 425c8c6c..3b37e253 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -83,6 +83,7 @@ jobs: mkdir -p /tmp/digests digest="${{ steps.build.outputs.digest }}" echo "$digest" > "/tmp/digests/${digest#sha256:}.digest" + ls -la /tmp/digests #touch "/tmp/digests/${digest#sha256:}" - name: Upload digest uses: actions/upload-artifact@v3 @@ -91,6 +92,8 @@ jobs: path: /tmp/digests/* if-no-files-found: error retention-days: 1 + - name: List files in /tmp/digests + run: ls -l /tmp/digests merge: runs-on: ubuntu-latest @@ -102,8 +105,16 @@ jobs: - name: Download digests uses: actions/download-artifact@v4 with: + name: digests-linux-arm64 + path: /tmp/digests + #pattern: digests-* + merge-multiple: true + - name: Download digests + uses: actions/download-artifact@v4 + with: + name: digests-linux-amd64 path: /tmp/digests - pattern: digests-* + #pattern: digests-* merge-multiple: true - name: List files in /tmp/digests run: ls -l /tmp/digests From 6c4278a3f5885e71667882a2647504478006e49f Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 21:04:41 +0900 Subject: [PATCH 41/83] Downgraded download-artifact to ensure compatibility with upload-artifact --- .github/workflows/push_docker.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 3b37e253..05df7875 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -71,8 +71,6 @@ jobs: with: context: . file: docker/Dockerfile - #push: true - #tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max @@ -103,14 +101,14 @@ jobs: run: | mkdir -p /tmp/digests - name: Download digests - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v3 with: name: digests-linux-arm64 path: /tmp/digests #pattern: digests-* merge-multiple: true - name: Download digests - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v3 with: name: digests-linux-amd64 path: /tmp/digests From cb3247eea9cd1e33927ae0e42e3eb4edd0acba90 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 21:19:09 +0900 Subject: [PATCH 42/83] Fixed bad substitution error --- .github/workflows/push_docker.yaml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 05df7875..b9b2f5ce 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -103,16 +103,8 @@ jobs: - name: Download digests uses: actions/download-artifact@v3 with: - name: digests-linux-arm64 path: /tmp/digests - #pattern: digests-* - merge-multiple: true - - name: Download digests - uses: actions/download-artifact@v3 - with: - name: digests-linux-amd64 - path: /tmp/digests - #pattern: digests-* + pattern: digests-* merge-multiple: true - name: List files in /tmp/digests run: ls -l /tmp/digests @@ -139,7 +131,7 @@ jobs: digests=$(ls /tmp/digests/*.digest | xargs cat) cmd="docker buildx imagetools create $tags" for digest in $digests; do - cmd="$cmd ${env.REGISTRY_IMAGE}@sha256:$digest" + cmd="$cmd $REGISTRY_IMAGE@sha256:$digest" done eval $cmd #docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ From 0ff2f6987d0df5ba9748152787dbaef56d902159 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 21:41:39 +0900 Subject: [PATCH 43/83] Fixed how digest files are accessed --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index b9b2f5ce..96a6fb94 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -128,7 +128,7 @@ jobs: working-directory: /tmp/digests run: | tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") - digests=$(ls /tmp/digests/*.digest | xargs cat) + digests=$(ls /tmp/digests/* | xargs cat) cmd="docker buildx imagetools create $tags" for digest in $digests; do cmd="$cmd $REGISTRY_IMAGE@sha256:$digest" From 156cc86f8102fa9e5abc8f08d5cbbffadd8e0b00 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 22:06:59 +0900 Subject: [PATCH 44/83] Modified in order to download each artifact individually --- .github/workflows/push_docker.yaml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 96a6fb94..39e36b31 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -100,12 +100,16 @@ jobs: - name: Create directory run: | mkdir -p /tmp/digests - - name: Download digests + - name: Download digests for linux/amd64 uses: actions/download-artifact@v3 with: - path: /tmp/digests - pattern: digests-* - merge-multiple: true + name: digests-linux-amd64 + path: /tmp/digests/linux-amd64 + - name: Download digests for linux/arm64 + uses: actions/download-artifact@v3 + with: + name: digests-linux-arm64 + path: /tmp/digests/linux-arm64 - name: List files in /tmp/digests run: ls -l /tmp/digests @@ -128,7 +132,8 @@ jobs: working-directory: /tmp/digests run: | tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") - digests=$(ls /tmp/digests/* | xargs cat) + #digests=$(ls /tmp/digests/* | xargs cat) + digests=$(find /tmp/digests -type f -name '*.digest' | xargs cat) cmd="docker buildx imagetools create $tags" for digest in $digests; do cmd="$cmd $REGISTRY_IMAGE@sha256:$digest" From 89004e70612cf78531043238e7ac1e0974e6469c Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 22:11:24 +0900 Subject: [PATCH 45/83] Modified in order to download each artifact individually --- .github/workflows/push_docker.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 39e36b31..b070e6e9 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -132,7 +132,6 @@ jobs: working-directory: /tmp/digests run: | tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") - #digests=$(ls /tmp/digests/* | xargs cat) digests=$(find /tmp/digests -type f -name '*.digest' | xargs cat) cmd="docker buildx imagetools create $tags" for digest in $digests; do From 1de5c509c40de0195650f5d58758195a2c2f3e86 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 22:23:08 +0900 Subject: [PATCH 46/83] Modified to avoid SHA256 prefix duplication --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index b070e6e9..4732c355 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -135,7 +135,7 @@ jobs: digests=$(find /tmp/digests -type f -name '*.digest' | xargs cat) cmd="docker buildx imagetools create $tags" for digest in $digests; do - cmd="$cmd $REGISTRY_IMAGE@sha256:$digest" + cmd="$cmd $REGISTRY_IMAGE@sha256:${digest#sha256:}" done eval $cmd #docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ From d47970a48a145f68a038d51c6ee8a1ad1ac0f853 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 23:02:42 +0900 Subject: [PATCH 47/83] Upgraded the version for login-action --- .github/workflows/push_docker.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 4732c355..eaa3648a 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -47,7 +47,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - name: Docker Hub login - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} @@ -80,9 +80,7 @@ jobs: run: | mkdir -p /tmp/digests digest="${{ steps.build.outputs.digest }}" - echo "$digest" > "/tmp/digests/${digest#sha256:}.digest" - ls -la /tmp/digests - #touch "/tmp/digests/${digest#sha256:}" + touch "/tmp/digests/${digest#sha256:}" - name: Upload digest uses: actions/upload-artifact@v3 with: @@ -138,8 +136,6 @@ jobs: cmd="$cmd $REGISTRY_IMAGE@sha256:${digest#sha256:}" done eval $cmd - #docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ - # $(printf '${{ env.REGISTRY_IMAGE }}@sha256:$digest') - name: Inspect image run: | From fca2fa2ffb545f8ca65a1f77478c0bee82ee4dc1 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Thu, 1 Aug 2024 23:17:57 +0900 Subject: [PATCH 48/83] modified the command from touch to echo --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index eaa3648a..72fc711c 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -80,7 +80,7 @@ jobs: run: | mkdir -p /tmp/digests digest="${{ steps.build.outputs.digest }}" - touch "/tmp/digests/${digest#sha256:}" + echo "$digest" > "/tmp/digests/${digest#sha256:}.digest" - name: Upload digest uses: actions/upload-artifact@v3 with: From e7b0aea4f3aaf914beb61713b1274541b1306a70 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 11:11:05 +0900 Subject: [PATCH 49/83] Upgraded upload-digest and download-digest version --- .github/workflows/push_docker.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 72fc711c..b28ca792 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -82,7 +82,7 @@ jobs: digest="${{ steps.build.outputs.digest }}" echo "$digest" > "/tmp/digests/${digest#sha256:}.digest" - name: Upload digest - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: digests-${{ env.PLATFORM_PAIR }} path: /tmp/digests/* @@ -99,12 +99,12 @@ jobs: run: | mkdir -p /tmp/digests - name: Download digests for linux/amd64 - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: digests-linux-amd64 path: /tmp/digests/linux-amd64 - name: Download digests for linux/arm64 - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: digests-linux-arm64 path: /tmp/digests/linux-arm64 From 0337932ca58c04111394b8fd533d490954a4de93 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 11:45:48 +0900 Subject: [PATCH 50/83] Removed multi-arch-docker-build branch from on-push branch --- .github/workflows/push_docker.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index b28ca792..98f86429 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -4,7 +4,6 @@ on: push: branches: - master - - multi-arch-docker-build tags: - zeus-v* paths: @@ -110,22 +109,18 @@ jobs: path: /tmp/digests/linux-arm64 - name: List files in /tmp/digests run: ls -l /tmp/digests - - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Docker meta id: meta uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY_IMAGE }} - - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - - name: Create manifest list and push working-directory: /tmp/digests run: | @@ -136,7 +131,6 @@ jobs: cmd="$cmd $REGISTRY_IMAGE@sha256:${digest#sha256:}" done eval $cmd - - name: Inspect image run: | docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} From 9230a86f8801b1e9c1d60a5940d626baa7eee704 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 11:53:16 +0900 Subject: [PATCH 51/83] Removed fail-fast from the strategy line --- .github/workflows/push_docker.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 98f86429..42a84114 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -26,7 +26,6 @@ jobs: if: github.repository_owner == 'ml-energy' runs-on: ubuntu-latest strategy: - fail-fast: true matrix: platform: - linux/amd64 From bdcebd888e6be9d1de9e36379882c6df1cd421bb Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 19:48:01 +0900 Subject: [PATCH 52/83] Modified to push the image to both mlenergy/zeus and symbioticlab/zeus --- .github/workflows/push_docker.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 42a84114..60ddcf04 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -4,6 +4,7 @@ on: push: branches: - master + - multi-arch-docker-build tags: - zeus-v* paths: @@ -21,6 +22,7 @@ on: env: REGISTRY_IMAGE: mlenergy/zeus + ADDITIONAL_REGISTRY_IMAGE: symbioticlab/zeus jobs: build_and_push: if: github.repository_owner == 'ml-energy' @@ -58,8 +60,8 @@ jobs: uses: docker/metadata-action@v5 with: images: | - symbioticlab/zeus - mlenergy/zeus + ${{ env.REGISTRY_IMAGE }} + ${{ env.ADDITIONAL_REGISTRY_IMAGE }} tags: | type=ref,event=branch type=ref,event=tag @@ -114,7 +116,9 @@ jobs: id: meta uses: docker/metadata-action@v5 with: - images: ${{ env.REGISTRY_IMAGE }} + images: | + ${{ env.REGISTRY_IMAGE }} + ${{ env.ADDITIONAL_REGISTRY_IMAGE }} - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -128,6 +132,7 @@ jobs: cmd="docker buildx imagetools create $tags" for digest in $digests; do cmd="$cmd $REGISTRY_IMAGE@sha256:${digest#sha256:}" + cmd="$cmd $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" done eval $cmd - name: Inspect image From 56a94dbc44c75221edd8fbdb213341cc3817e0f4 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 19:49:08 +0900 Subject: [PATCH 53/83] Modified to push the image to both mlenergy/zeus and symbioticlab/zeus --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 60ddcf04..18d465aa 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -4,7 +4,7 @@ on: push: branches: - master - - multi-arch-docker-build + - multi-arch-docker-build tags: - zeus-v* paths: From 892b164ee3c584ca8a098234043b189bc92c6649 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 20:06:41 +0900 Subject: [PATCH 54/83] Added entries for both the primary and secondary registry images --- .github/workflows/push_docker.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 18d465aa..33911844 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -4,7 +4,7 @@ on: push: branches: - master - - multi-arch-docker-build + - multi-arch-docker-build tags: - zeus-v* paths: @@ -72,8 +72,12 @@ jobs: context: . file: docker/Dockerfile labels: ${{ steps.meta.outputs.labels }} - cache-from: type=registry,ref=mlenergy/zeus:buildcache - cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max + cache-from: | + type=registry,ref=mlenergy/zeus:buildcache + type=registry,ref=${{ env.SECONDARY_REGISTRY_IMAGE }}:buildcache + cache-to: | + type=registry,ref=mlenergy/zeus:buildcache,mode=max + type=registry,ref=${{ env.SECONDARY_REGISTRY_IMAGE }}:buildcache platforms: ${{ matrix.platform }} outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - name: Export digest From b923c0299bedc42e6a0bcf88585993d820b26ce7 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 20:07:29 +0900 Subject: [PATCH 55/83] Added entries for both the primary and secondary registry images --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 33911844..bd50d96e 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -4,7 +4,7 @@ on: push: branches: - master - - multi-arch-docker-build + - multi-arch-docker-build tags: - zeus-v* paths: From 76596e802fc0e328b33abe07a79d7b731289673b Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 20:21:16 +0900 Subject: [PATCH 56/83] Modified to push generated image to both registries --- .github/workflows/push_docker.yaml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index bd50d96e..f7a82547 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -72,14 +72,12 @@ jobs: context: . file: docker/Dockerfile labels: ${{ steps.meta.outputs.labels }} - cache-from: | - type=registry,ref=mlenergy/zeus:buildcache - type=registry,ref=${{ env.SECONDARY_REGISTRY_IMAGE }}:buildcache - cache-to: | - type=registry,ref=mlenergy/zeus:buildcache,mode=max - type=registry,ref=${{ env.SECONDARY_REGISTRY_IMAGE }}:buildcache + cache-from: type=registry,ref=mlenergy/zeus:buildcache + cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max platforms: ${{ matrix.platform }} - outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + outputs: | + type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + type=image,name=${{ env.ADDITIONAL_REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - name: Export digest run: | mkdir -p /tmp/digests From 2ef7b30b8b3324972aad0e39f1df06d60161e0f4 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 21:43:23 +0900 Subject: [PATCH 57/83] Test pushing to both registries --- .github/workflows/push_docker.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index f7a82547..78b6b23d 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -61,7 +61,7 @@ jobs: with: images: | ${{ env.REGISTRY_IMAGE }} - ${{ env.ADDITIONAL_REGISTRY_IMAGE }} + #${{ env.ADDITIONAL_REGISTRY_IMAGE }} tags: | type=ref,event=branch type=ref,event=tag @@ -72,12 +72,16 @@ jobs: context: . file: docker/Dockerfile labels: ${{ steps.meta.outputs.labels }} - cache-from: type=registry,ref=mlenergy/zeus:buildcache - cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max + cache-from: | + type=registry,ref=mlenergy/zeus:buildcache + #type=registry,ref=${{ env.ADDITIONAL_REGISTRY_IMAGE }}:buildcache + cache-to: | + type=registry,ref=mlenergy/zeus:buildcache,mode=max + #type=registry,ref=${{ env.ADDITIONAL_REGISTRY_IMAGE }}:buildcache,mode=max platforms: ${{ matrix.platform }} outputs: | type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - type=image,name=${{ env.ADDITIONAL_REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + #type=image,name=${{ env.ADDITIONAL_REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - name: Export digest run: | mkdir -p /tmp/digests From f03b45e790cc495f6d411f0f7acad3546be2c548 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 21:45:29 +0900 Subject: [PATCH 58/83] Test pushing to both registries --- .github/workflows/push_docker.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 78b6b23d..6b5051d2 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -79,9 +79,7 @@ jobs: type=registry,ref=mlenergy/zeus:buildcache,mode=max #type=registry,ref=${{ env.ADDITIONAL_REGISTRY_IMAGE }}:buildcache,mode=max platforms: ${{ matrix.platform }} - outputs: | - type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - #type=image,name=${{ env.ADDITIONAL_REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - name: Export digest run: | mkdir -p /tmp/digests From 0e010e8101bdeee2676352879b0de2aaacb32b37 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 21:53:10 +0900 Subject: [PATCH 59/83] Modified to ensure image is built only once, and the manifest list is created once, then pushed to both registries --- .github/workflows/push_docker.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 6b5051d2..195d430a 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -72,12 +72,8 @@ jobs: context: . file: docker/Dockerfile labels: ${{ steps.meta.outputs.labels }} - cache-from: | - type=registry,ref=mlenergy/zeus:buildcache - #type=registry,ref=${{ env.ADDITIONAL_REGISTRY_IMAGE }}:buildcache - cache-to: | - type=registry,ref=mlenergy/zeus:buildcache,mode=max - #type=registry,ref=${{ env.ADDITIONAL_REGISTRY_IMAGE }}:buildcache,mode=max + cache-from: type=registry,ref=mlenergy/zeus:buildcache + cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max platforms: ${{ matrix.platform }} outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - name: Export digest From 4f6ba555933ec85aa16c283527f6d5c742a110ae Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 22:05:32 +0900 Subject: [PATCH 60/83] Modified to ensure that the image is pushed to both registries before creating the manifest list --- .github/workflows/push_docker.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 195d430a..f7a82547 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -61,7 +61,7 @@ jobs: with: images: | ${{ env.REGISTRY_IMAGE }} - #${{ env.ADDITIONAL_REGISTRY_IMAGE }} + ${{ env.ADDITIONAL_REGISTRY_IMAGE }} tags: | type=ref,event=branch type=ref,event=tag @@ -75,7 +75,9 @@ jobs: cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max platforms: ${{ matrix.platform }} - outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + outputs: | + type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + type=image,name=${{ env.ADDITIONAL_REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - name: Export digest run: | mkdir -p /tmp/digests From ed8c0756ec85e9dcbb3d7281a6e61692044a4b47 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sat, 3 Aug 2024 22:55:49 +0900 Subject: [PATCH 61/83] Added some lines for debugging --- .github/workflows/push_docker.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index f7a82547..cd129092 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -130,12 +130,15 @@ jobs: working-directory: /tmp/digests run: | tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") + echo "Tags: $tags" digests=$(find /tmp/digests -type f -name '*.digest' | xargs cat) + echo "Digests: $digests" cmd="docker buildx imagetools create $tags" for digest in $digests; do cmd="$cmd $REGISTRY_IMAGE@sha256:${digest#sha256:}" cmd="$cmd $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" done + echo "Running command: $cmd" eval $cmd - name: Inspect image run: | From a83bae8dbec92f6bfb292bbf3c9083dd7abcaa40 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 00:03:31 +0900 Subject: [PATCH 62/83] Added lines for a delay before creating the manifest list to ensure the digest is available on Docker Hub --- .github/workflows/push_docker.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index cd129092..e1a56301 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -126,6 +126,8 @@ jobs: with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} + - name: Wait for Docker Hub synchronization + run: sleep 30 - name: Create manifest list and push working-directory: /tmp/digests run: | From 22042bbde5678cf10117e33c6d4e021d7eeff275 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 00:17:46 +0900 Subject: [PATCH 63/83] Added lines to verify pushed digests --- .github/workflows/push_docker.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index e1a56301..d91007b9 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -126,8 +126,10 @@ jobs: with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - - name: Wait for Docker Hub synchronization - run: sleep 30 + - name: Verify pushed digests + run: | + docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}@sha256:$(cat /tmp/digests/linux-amd64/*.digest) + docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}@sha256:$(cat /tmp/digests/linux-arm64/*.digest) - name: Create manifest list and push working-directory: /tmp/digests run: | From 6469fe93df7ba13de09f24870990ea7a31c6ae02 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 00:49:52 +0900 Subject: [PATCH 64/83] Added lines for debugging --- .github/workflows/push_docker.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index d91007b9..96b71837 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -128,7 +128,11 @@ jobs: password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Verify pushed digests run: | + echo "Verifying digest for linux-amd64:" + cat /tmp/digests/linux-amd64/*.digest docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}@sha256:$(cat /tmp/digests/linux-amd64/*.digest) + echo "Verifying digest for linux-arm64:" + cat /tmp/digests/linux-arm64/*.digest docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}@sha256:$(cat /tmp/digests/linux-arm64/*.digest) - name: Create manifest list and push working-directory: /tmp/digests From 7dab0f9ebbb2b225bc4779044c280f6a9cff2502 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 01:17:58 +0900 Subject: [PATCH 65/83] Added delays for docker hub synchronization --- .github/workflows/push_docker.yaml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 96b71837..984a9d74 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -126,14 +126,8 @@ jobs: with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - - name: Verify pushed digests - run: | - echo "Verifying digest for linux-amd64:" - cat /tmp/digests/linux-amd64/*.digest - docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}@sha256:$(cat /tmp/digests/linux-amd64/*.digest) - echo "Verifying digest for linux-arm64:" - cat /tmp/digests/linux-arm64/*.digest - docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}@sha256:$(cat /tmp/digests/linux-arm64/*.digest) + - name: Wait for Docker Hub synchronization + run: sleep 60 - name: Create manifest list and push working-directory: /tmp/digests run: | From a9a6135d0699ece000e36f274e0ebbcefd41e78b Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 10:46:09 +0900 Subject: [PATCH 66/83] Seperated the loop by each registry for debugging --- .github/workflows/push_docker.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 984a9d74..95e98301 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -126,18 +126,21 @@ jobs: with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - - name: Wait for Docker Hub synchronization - run: sleep 60 + #- name: Wait for Docker Hub synchronization + # run: sleep 60 - name: Create manifest list and push working-directory: /tmp/digests run: | tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") - echo "Tags: $tags" + # echo "Tags: $tags" digests=$(find /tmp/digests -type f -name '*.digest' | xargs cat) echo "Digests: $digests" cmd="docker buildx imagetools create $tags" for digest in $digests; do cmd="$cmd $REGISTRY_IMAGE@sha256:${digest#sha256:}" + # cmd="$cmd $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" + done + for digest in $digests; do cmd="$cmd $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" done echo "Running command: $cmd" From 77861c826eb8367abff159f3f1125f06ea2a343f Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 10:47:55 +0900 Subject: [PATCH 67/83] Syntax error fixed --- .github/workflows/push_docker.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 95e98301..d8597c6d 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -126,19 +126,14 @@ jobs: with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - #- name: Wait for Docker Hub synchronization - # run: sleep 60 - name: Create manifest list and push working-directory: /tmp/digests run: | tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") - # echo "Tags: $tags" digests=$(find /tmp/digests -type f -name '*.digest' | xargs cat) - echo "Digests: $digests" cmd="docker buildx imagetools create $tags" for digest in $digests; do cmd="$cmd $REGISTRY_IMAGE@sha256:${digest#sha256:}" - # cmd="$cmd $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" done for digest in $digests; do cmd="$cmd $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" From 38c4dde85c1c008b6a2171eb15a1aac2fcef6d1d Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 11:07:08 +0900 Subject: [PATCH 68/83] Seperated commands for pushing manifest list for both registries --- .github/workflows/push_docker.yaml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index d8597c6d..32c0d21c 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -131,15 +131,19 @@ jobs: run: | tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") digests=$(find /tmp/digests -type f -name '*.digest' | xargs cat) - cmd="docker buildx imagetools create $tags" + cmd_primary="docker buildx imagetools create $tags" for digest in $digests; do - cmd="$cmd $REGISTRY_IMAGE@sha256:${digest#sha256:}" + cmd_primary="$cmd_primary $REGISTRY_IMAGE@sha256:${digest#sha256:}" done + cmd_secondary="docker buildx imagetools create $tags" for digest in $digests; do - cmd="$cmd $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" + cmd_secondary="$cmd_secondary $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" done - echo "Running command: $cmd" - eval $cmd + echo "Running primary command: $cmd_primary" + eval $cmd_primary + + echo "Running secondary command: $cmd_primary" + eval $cmd_secondary - name: Inspect image run: | docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} From 130cba321d9a9ae06d214000f6a0fc91497d16eb Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 11:20:55 +0900 Subject: [PATCH 69/83] Debug --- .github/workflows/push_docker.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 32c0d21c..26ef4d3f 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -77,7 +77,7 @@ jobs: platforms: ${{ matrix.platform }} outputs: | type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - type=image,name=${{ env.ADDITIONAL_REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + #type=image,name=${{ env.ADDITIONAL_REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - name: Export digest run: | mkdir -p /tmp/digests @@ -142,7 +142,7 @@ jobs: echo "Running primary command: $cmd_primary" eval $cmd_primary - echo "Running secondary command: $cmd_primary" + echo "Running secondary command: $cmd_secondary" eval $cmd_secondary - name: Inspect image run: | From 18d1d3027aa43fbbbbad9977bf1b4f37257cd3d8 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 11:22:56 +0900 Subject: [PATCH 70/83] Output type specified --- .github/workflows/push_docker.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 26ef4d3f..1049a2a1 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -75,9 +75,7 @@ jobs: cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max platforms: ${{ matrix.platform }} - outputs: | - type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - #type=image,name=${{ env.ADDITIONAL_REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true - name: Export digest run: | mkdir -p /tmp/digests From 3103aaf7ee67f819526a152a392792faa601e337 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 11:33:19 +0900 Subject: [PATCH 71/83] Code optimization --- .github/workflows/push_docker.yaml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 1049a2a1..448867a2 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -132,16 +132,11 @@ jobs: cmd_primary="docker buildx imagetools create $tags" for digest in $digests; do cmd_primary="$cmd_primary $REGISTRY_IMAGE@sha256:${digest#sha256:}" - done - cmd_secondary="docker buildx imagetools create $tags" - for digest in $digests; do - cmd_secondary="$cmd_secondary $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" + cmd_primary="$cmd_primary $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" done echo "Running primary command: $cmd_primary" eval $cmd_primary - echo "Running secondary command: $cmd_secondary" - eval $cmd_secondary - name: Inspect image run: | docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} From 914d3ba0f8c4737852db0b599ad646d56dcb7285 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 11:35:11 +0900 Subject: [PATCH 72/83] Syntax error fixed --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 448867a2..ae69a0cf 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -132,7 +132,7 @@ jobs: cmd_primary="docker buildx imagetools create $tags" for digest in $digests; do cmd_primary="$cmd_primary $REGISTRY_IMAGE@sha256:${digest#sha256:}" - cmd_primary="$cmd_primary $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" + cmd_primary="$cmd_primary $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" done echo "Running primary command: $cmd_primary" eval $cmd_primary From 46382eebd4bd054aa9f2216158346c640745a53c Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 22:33:45 +0900 Subject: [PATCH 73/83] Modified command for creating manifest list --- .github/workflows/push_docker.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index ae69a0cf..83afae8b 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -131,8 +131,7 @@ jobs: digests=$(find /tmp/digests -type f -name '*.digest' | xargs cat) cmd_primary="docker buildx imagetools create $tags" for digest in $digests; do - cmd_primary="$cmd_primary $REGISTRY_IMAGE@sha256:${digest#sha256:}" - cmd_primary="$cmd_primary $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" + cmd_primary="$cmd_primary $REGISTRY_IMAGE@sha256:${digest#sha256:} $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" done echo "Running primary command: $cmd_primary" eval $cmd_primary From 2c6e79e83f23feedc0c1ed972e242e59428a573e Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 22:48:16 +0900 Subject: [PATCH 74/83] Modified command for creating manifest list --- .github/workflows/push_docker.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 83afae8b..b5c8c971 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -131,11 +131,14 @@ jobs: digests=$(find /tmp/digests -type f -name '*.digest' | xargs cat) cmd_primary="docker buildx imagetools create $tags" for digest in $digests; do - cmd_primary="$cmd_primary $REGISTRY_IMAGE@sha256:${digest#sha256:} $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" + cmd_primary="$cmd_primary $REGISTRY_IMAGE@sha256:${digest#sha256:}" + done + cmd_secondary="docker buildx imagetools create $tags" + for digest in $digests; do + cmd_secondary="$cmd_secondary $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" done - echo "Running primary command: $cmd_primary" eval $cmd_primary - + eval $cmd_secondary - name: Inspect image run: | docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} From b5438b3f7c6cc23107856d5f9cfbb24464f3480c Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Sun, 4 Aug 2024 23:04:06 +0900 Subject: [PATCH 75/83] Modified on-push branch for merge --- .github/workflows/push_docker.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index b5c8c971..1f4de4b2 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -4,7 +4,6 @@ on: push: branches: - master - - multi-arch-docker-build tags: - zeus-v* paths: From e0f10a925dc35737a004f1a7cdcfa03d46ffdebf Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Mon, 5 Aug 2024 00:13:21 +0900 Subject: [PATCH 76/83] Removed step that lists up downloaded digests (Listing files in /tmp/digests) --- .github/workflows/push_docker.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 1f4de4b2..88bb3754 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -87,8 +87,6 @@ jobs: path: /tmp/digests/* if-no-files-found: error retention-days: 1 - - name: List files in /tmp/digests - run: ls -l /tmp/digests merge: runs-on: ubuntu-latest @@ -107,8 +105,6 @@ jobs: with: name: digests-linux-arm64 path: /tmp/digests/linux-arm64 - - name: List files in /tmp/digests - run: ls -l /tmp/digests - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Docker meta From a324e7f8ffe6ddf94978db8b240c5332e11a1e85 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Mon, 5 Aug 2024 12:21:48 +0900 Subject: [PATCH 77/83] Printing out tags and removed duplicate push --- .github/workflows/push_docker.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 88bb3754..e8a66663 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -123,17 +123,13 @@ jobs: working-directory: /tmp/digests run: | tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") + echo "Tags: $tags" digests=$(find /tmp/digests -type f -name '*.digest' | xargs cat) cmd_primary="docker buildx imagetools create $tags" for digest in $digests; do cmd_primary="$cmd_primary $REGISTRY_IMAGE@sha256:${digest#sha256:}" done - cmd_secondary="docker buildx imagetools create $tags" - for digest in $digests; do - cmd_secondary="$cmd_secondary $ADDITIONAL_REGISTRY_IMAGE@sha256:${digest#sha256:}" - done eval $cmd_primary - eval $cmd_secondary - name: Inspect image run: | docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} From c84707c413bef4a715fcf4f34d8065d5146b890d Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Mon, 5 Aug 2024 12:28:33 +0900 Subject: [PATCH 78/83] Included multi-arch-docker-build branch for debugging --- .github/workflows/push_docker.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index e8a66663..8f9cf808 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -4,6 +4,7 @@ on: push: branches: - master + - multi-arch-docker-build tags: - zeus-v* paths: From 8b368737318b848d28437ea54f4bfdfe71886ed0 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Mon, 5 Aug 2024 12:29:13 +0900 Subject: [PATCH 79/83] Included multi-arch-docker-build branch for debugging --- .github/workflows/push_docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 8f9cf808..7afc789a 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -4,7 +4,7 @@ on: push: branches: - master - - multi-arch-docker-build + - multi-arch-docker-build tags: - zeus-v* paths: From 2b5245ef3ee524fed3bbe7acdd3246e2faf51509 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Mon, 5 Aug 2024 13:09:13 +0900 Subject: [PATCH 80/83] Renamed the variables --- .github/workflows/push_docker.yaml | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 7afc789a..d83a052e 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -21,8 +21,8 @@ on: - 'pyproject.toml' env: - REGISTRY_IMAGE: mlenergy/zeus - ADDITIONAL_REGISTRY_IMAGE: symbioticlab/zeus + REGISTRY_NAME: mlenergy/zeus + MIRROR_REGISTRY_NAME: symbioticlab/zeus jobs: build_and_push: if: github.repository_owner == 'ml-energy' @@ -60,8 +60,8 @@ jobs: uses: docker/metadata-action@v5 with: images: | - ${{ env.REGISTRY_IMAGE }} - ${{ env.ADDITIONAL_REGISTRY_IMAGE }} + ${{ env.REGISTRY_NAME }} + ${{ env.MIRROR_REGISTRY_NAME }} tags: | type=ref,event=branch type=ref,event=tag @@ -75,7 +75,7 @@ jobs: cache-from: type=registry,ref=mlenergy/zeus:buildcache cache-to: type=registry,ref=mlenergy/zeus:buildcache,mode=max platforms: ${{ matrix.platform }} - outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + outputs: type=image,name=${{ env.REGISTRY_NAME }},push-by-digest=true,name-canonical=true,push=true - name: Export digest run: | mkdir -p /tmp/digests @@ -113,8 +113,8 @@ jobs: uses: docker/metadata-action@v5 with: images: | - ${{ env.REGISTRY_IMAGE }} - ${{ env.ADDITIONAL_REGISTRY_IMAGE }} + ${{ env.REGISTRY_NAME }} + ${{ env.MIRROR_REGISTRY_NAME }} - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -124,13 +124,12 @@ jobs: working-directory: /tmp/digests run: | tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") - echo "Tags: $tags" digests=$(find /tmp/digests -type f -name '*.digest' | xargs cat) - cmd_primary="docker buildx imagetools create $tags" + cmd="docker buildx imagetools create $tags" for digest in $digests; do - cmd_primary="$cmd_primary $REGISTRY_IMAGE@sha256:${digest#sha256:}" + cmd="$cmd $REGISTRY_NAME@sha256:${digest#sha256:}" done - eval $cmd_primary + eval $cmd - name: Inspect image run: | - docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} + docker buildx imagetools inspect ${{ env.REGISTRY_NAME }}:${{ steps.meta.outputs.version }} From 3b63a6fc78dfbeeef54cd898da8b89b987c19424 Mon Sep 17 00:00:00 2001 From: sharonsyh Date: Mon, 5 Aug 2024 13:20:34 +0900 Subject: [PATCH 81/83] Removed multi-arch-docker-build branch for merge --- .github/workflows/push_docker.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index d83a052e..539a3412 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -4,7 +4,6 @@ on: push: branches: - master - - multi-arch-docker-build tags: - zeus-v* paths: From 6ac710c3b9e8bad23d3db094ca372ff313eff719 Mon Sep 17 00:00:00 2001 From: Sharon Seungyu Han <87476439+sharonsyh@users.noreply.github.com> Date: Fri, 9 Aug 2024 09:21:05 +0900 Subject: [PATCH 82/83] Update push_docker.yaml Remove the new line --- .github/workflows/push_docker.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 02244bbf..9e91286f 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -20,7 +20,6 @@ on: - 'pyproject.toml' env: - REGISTRY_NAME: mlenergy/zeus MIRROR_REGISTRY_NAME: symbioticlab/zeus From 8f4dac4c5de66e22eb8657aaf55ac432a801a758 Mon Sep 17 00:00:00 2001 From: Sharon Seungyu Han <87476439+sharonsyh@users.noreply.github.com> Date: Fri, 9 Aug 2024 09:30:40 +0900 Subject: [PATCH 83/83] Update push_docker.yaml Fix syntax error --- .github/workflows/push_docker.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/push_docker.yaml b/.github/workflows/push_docker.yaml index 9e91286f..539a3412 100644 --- a/.github/workflows/push_docker.yaml +++ b/.github/workflows/push_docker.yaml @@ -22,7 +22,6 @@ on: env: REGISTRY_NAME: mlenergy/zeus MIRROR_REGISTRY_NAME: symbioticlab/zeus - jobs: build_and_push: if: github.repository_owner == 'ml-energy'