From e4f796dc841109905acc564d6b4597593131923b Mon Sep 17 00:00:00 2001 From: Benny Date: Tue, 29 Aug 2023 17:48:30 +0200 Subject: [PATCH 01/11] =?UTF-8?q?=E7=BC=9D=E5=90=88=E6=80=AA=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/docker.yaml | 109 +++++++++++++++++++++++++++++++--- 1 file changed, 102 insertions(+), 7 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 11f1842cf..ee83a7cbd 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -8,7 +8,7 @@ on: - 'LICENSE' jobs: - docker: + amd64: runs-on: ubuntu-latest steps: - name: Checkout @@ -16,9 +16,6 @@ jobs: with: submodules: true - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 @@ -97,11 +94,84 @@ jobs: uses: docker/build-push-action@v4 with: context: . - platforms: linux/amd64, linux/arm64 + platforms: linux/amd64 push: true tags: | - ${{ steps.dh_string.outputs.lowercase }} - ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} + ${{ steps.dh_string.outputs.lowercase }}:amd64 + ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:amd64 + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + + - name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache + + + + arm64: + runs-on: self-hosted + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Cache Docker layers + uses: actions/cache@v3 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Run hooks + env: + REACT_APP_SENTRY_DSN: ${{ secrets.REACT_APP_SENTRY_DSN }} + REACT_APP_DOMAIN: ${{ secrets.REACT_APP_DOMAIN }} + REACT_APP_GA: ${{ secrets.REACT_APP_GA }} + GENERATE_SOURCEMAP: ${{ secrets.GENERATE_SOURCEMAP }} + REACT_APP_ADSENSE: ${{ secrets.REACT_APP_ADSENSE }} + REACT_APP_CRISP: ${{ secrets.REACT_APP_CRISP }} + run: bash scripts/pre_build.sh + + - name: Lower case for Docker Hub + id: dh_string + uses: ASzc/change-string-case-action@v5 + with: + string: ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }} + + - name: Lower case for ghcr + id: ghcr_string + uses: ASzc/change-string-case-action@v5 + with: + string: ${{ github.event.repository.full_name }} + + - name: Build and push docker images + uses: docker/build-push-action@v4 + with: + context: . + platforms: linux/arm64 + push: true + tags: | + ${{ steps.dh_string.outputs.lowercase }}:arm64 + ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:arm64 cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max @@ -109,6 +179,31 @@ jobs: run: | rm -rf /tmp/.buildx-cache mv /tmp/.buildx-cache-new /tmp/.buildx-cache + + + combine: + runs-on: ubuntu-latest + needs: [ amd64, arm64 ] + steps: + - name: Lower case for Docker Hub + id: dh_string + uses: ASzc/change-string-case-action@v5 + with: + string: ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }} + + - name: Lower case for ghcr + id: ghcr_string + uses: ASzc/change-string-case-action@v5 + with: + string: ${{ github.event.repository.full_name }} + + - name: Combine two images + run: | + docker manifest create ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:amd64 ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:arm64 + docker manifest push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} + + docker manifest create ${{ steps.dh_string.outputs.lowercase }} ${{ steps.dh_string.outputs.lowercase }}:amd64 ${{ steps.dh_string.outputs.lowercase }}:arm64 + docker manifest push ${{ steps.dh_string.outputs.lowercase }} - name: Notification to Telegram env: From 63fa41c3905d211ddd5d799bf7bf4e1e9f338563 Mon Sep 17 00:00:00 2001 From: Benny Date: Tue, 29 Aug 2023 17:49:58 +0200 Subject: [PATCH 02/11] =?UTF-8?q?=E7=BC=9D=E5=90=88=E6=80=AA=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/docker.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index ee83a7cbd..cd15d68e6 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -3,6 +3,7 @@ on: push: branches: - 'master' + - 'wf' paths-ignore: - '**.md' - 'LICENSE' From bb0dcafac94d5053bb493be43f998e5e0e459264 Mon Sep 17 00:00:00 2001 From: Benny Date: Tue, 29 Aug 2023 18:43:10 +0200 Subject: [PATCH 03/11] fix --- .github/workflows/docker.yaml | 49 ++++++++++++----------------------- Makefile | 2 +- 2 files changed, 18 insertions(+), 33 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index cd15d68e6..7399b9728 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -34,13 +34,6 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Run hooks env: REACT_APP_SENTRY_DSN: ${{ secrets.REACT_APP_SENTRY_DSN }} @@ -57,12 +50,6 @@ jobs: with: string: ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }} - - name: Lower case for ghcr - id: ghcr_string - uses: ASzc/change-string-case-action@v5 - with: - string: ${{ github.event.repository.full_name }} - - name: Start MongoDB uses: supercharge/mongodb-github-action@1.8.0 with: @@ -77,7 +64,7 @@ jobs: platforms: linux/amd64 load: true tags: | - ${{ steps.dh_string.outputs.lowercase }} + ${{ steps.dh_string.outputs.lowercase }}:ci build-args: | env=dev cache-from: type=local,src=/tmp/.buildx-cache @@ -99,7 +86,6 @@ jobs: push: true tags: | ${{ steps.dh_string.outputs.lowercase }}:amd64 - ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:amd64 cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max @@ -135,13 +121,6 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Run hooks env: REACT_APP_SENTRY_DSN: ${{ secrets.REACT_APP_SENTRY_DSN }} @@ -158,12 +137,6 @@ jobs: with: string: ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }} - - name: Lower case for ghcr - id: ghcr_string - uses: ASzc/change-string-case-action@v5 - with: - string: ${{ github.event.repository.full_name }} - - name: Build and push docker images uses: docker/build-push-action@v4 with: @@ -172,7 +145,6 @@ jobs: push: true tags: | ${{ steps.dh_string.outputs.lowercase }}:arm64 - ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:arm64 cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max @@ -186,6 +158,19 @@ jobs: runs-on: ubuntu-latest needs: [ amd64, arm64 ] steps: + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Lower case for Docker Hub id: dh_string uses: ASzc/change-string-case-action@v5 @@ -200,11 +185,11 @@ jobs: - name: Combine two images run: | - docker manifest create ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:amd64 ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:arm64 - docker manifest push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} - docker manifest create ${{ steps.dh_string.outputs.lowercase }} ${{ steps.dh_string.outputs.lowercase }}:amd64 ${{ steps.dh_string.outputs.lowercase }}:arm64 docker manifest push ${{ steps.dh_string.outputs.lowercase }} + + docker tag ${{ steps.dh_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} + docker push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} - name: Notification to Telegram env: diff --git a/Makefile b/Makefile index e3400e67b..41e29f4d9 100644 --- a/Makefile +++ b/Makefile @@ -86,7 +86,7 @@ release: ci-test: - docker run --rm bennythink/yyetsbot /bin/sh -c "cd /YYeTsBot/yyetsweb/tests;python -m unittest discover -p '*_test.py'" + docker run --rm bennythink/yyetsbot:ci /bin/sh -c "cd /YYeTsBot/yyetsweb/tests;python -m unittest discover -p '*_test.py'" test: cd $(WEB)/tests;python -m unittest discover -p '*_test.py' From 8240c1eb84ac284382d66eadbce8ad305e987c93 Mon Sep 17 00:00:00 2001 From: Benny Date: Tue, 29 Aug 2023 19:30:35 +0200 Subject: [PATCH 04/11] disable --- .github/workflows/docker.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 7399b9728..2fee546d2 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -63,6 +63,8 @@ jobs: # for CI purposes, we only need to save amd64 and then build multi-arch later platforms: linux/amd64 load: true + provenance: false + sbom: false tags: | ${{ steps.dh_string.outputs.lowercase }}:ci build-args: | @@ -84,6 +86,8 @@ jobs: context: . platforms: linux/amd64 push: true + provenance: false + sbom: false tags: | ${{ steps.dh_string.outputs.lowercase }}:amd64 cache-from: type=local,src=/tmp/.buildx-cache @@ -143,6 +147,8 @@ jobs: context: . platforms: linux/arm64 push: true + provenance: false + sbom: false tags: | ${{ steps.dh_string.outputs.lowercase }}:arm64 cache-from: type=local,src=/tmp/.buildx-cache From febb84e693832649d6026cf701bb4a8241ac17ed Mon Sep 17 00:00:00 2001 From: Benny Date: Tue, 29 Aug 2023 20:12:17 +0200 Subject: [PATCH 05/11] try --- .github/workflows/docker.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 2fee546d2..fb7616d19 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -194,8 +194,8 @@ jobs: docker manifest create ${{ steps.dh_string.outputs.lowercase }} ${{ steps.dh_string.outputs.lowercase }}:amd64 ${{ steps.dh_string.outputs.lowercase }}:arm64 docker manifest push ${{ steps.dh_string.outputs.lowercase }} - docker tag ${{ steps.dh_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} - docker push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} + docker manifest create ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:amd64 ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:arm64 + docker manifest push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} - name: Notification to Telegram env: From dcb0127b13b06b4edaa9c4039f2e11e67414c972 Mon Sep 17 00:00:00 2001 From: Benny Date: Tue, 29 Aug 2023 20:37:36 +0200 Subject: [PATCH 06/11] 76 --- .github/workflows/docker.yaml | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index fb7616d19..13a2b79b0 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -111,14 +111,6 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Cache Docker layers - uses: actions/cache@v3 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -154,12 +146,6 @@ jobs: cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - name: Move cache - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache - - combine: runs-on: ubuntu-latest needs: [ amd64, arm64 ] @@ -191,11 +177,11 @@ jobs: - name: Combine two images run: | - docker manifest create ${{ steps.dh_string.outputs.lowercase }} ${{ steps.dh_string.outputs.lowercase }}:amd64 ${{ steps.dh_string.outputs.lowercase }}:arm64 - docker manifest push ${{ steps.dh_string.outputs.lowercase }} - - docker manifest create ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:amd64 ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:arm64 - docker manifest push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} + docker manifest create bennythink/yyetsbot ${{ steps.dh_string.outputs.lowercase }}:amd64 ${{ steps.dh_string.outputs.lowercase }}:arm64 + docker manifest push bennythink/yyetsbot + + # docker manifest create ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:amd64 ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:arm64 + # docker manifest push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} - name: Notification to Telegram env: From fa982e45c70432bd53b6a9c441e4a28f1cfee701 Mon Sep 17 00:00:00 2001 From: Benny Date: Tue, 29 Aug 2023 21:03:17 +0200 Subject: [PATCH 07/11] 000 --- .github/workflows/docker.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 13a2b79b0..968157ac0 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -177,8 +177,8 @@ jobs: - name: Combine two images run: | - docker manifest create bennythink/yyetsbot ${{ steps.dh_string.outputs.lowercase }}:amd64 ${{ steps.dh_string.outputs.lowercase }}:arm64 - docker manifest push bennythink/yyetsbot + docker manifest create ${{ steps.dh_string.outputs.lowercase }} ${{ steps.dh_string.outputs.lowercase }}:amd64 ${{ steps.dh_string.outputs.lowercase }}:arm64 + docker manifest push ${{ steps.dh_string.outputs.lowercase }} # docker manifest create ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:amd64 ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:arm64 # docker manifest push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} From 56bf4007a38fbab9ee69281faca1cdc3b344011b Mon Sep 17 00:00:00 2001 From: Benny Date: Tue, 29 Aug 2023 21:28:16 +0200 Subject: [PATCH 08/11] ppp --- .github/workflows/docker.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 968157ac0..16ca2cb04 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -179,9 +179,9 @@ jobs: run: | docker manifest create ${{ steps.dh_string.outputs.lowercase }} ${{ steps.dh_string.outputs.lowercase }}:amd64 ${{ steps.dh_string.outputs.lowercase }}:arm64 docker manifest push ${{ steps.dh_string.outputs.lowercase }} - - # docker manifest create ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:amd64 ghcr.io/${{ steps.ghcr_string.outputs.lowercase }}:arm64 - # docker manifest push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} + + docker tag ${{ steps.dh_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} + docker push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} - name: Notification to Telegram env: From 2f961a1b1f7341f63522f36ba624b287dea939d3 Mon Sep 17 00:00:00 2001 From: Benny Date: Tue, 29 Aug 2023 21:48:57 +0200 Subject: [PATCH 09/11] sleep --- .github/workflows/docker.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 16ca2cb04..c922d7600 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -180,6 +180,8 @@ jobs: docker manifest create ${{ steps.dh_string.outputs.lowercase }} ${{ steps.dh_string.outputs.lowercase }}:amd64 ${{ steps.dh_string.outputs.lowercase }}:arm64 docker manifest push ${{ steps.dh_string.outputs.lowercase }} + sleep 30 + docker tag ${{ steps.dh_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} docker push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} From af3f5e241c03fc0c6444fff734cd2c6a00f7a340 Mon Sep 17 00:00:00 2001 From: Benny Date: Tue, 29 Aug 2023 21:54:30 +0200 Subject: [PATCH 10/11] try to pull --- .github/workflows/docker.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index c922d7600..c882df903 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -180,8 +180,7 @@ jobs: docker manifest create ${{ steps.dh_string.outputs.lowercase }} ${{ steps.dh_string.outputs.lowercase }}:amd64 ${{ steps.dh_string.outputs.lowercase }}:arm64 docker manifest push ${{ steps.dh_string.outputs.lowercase }} - sleep 30 - + docker pull ${{ steps.dh_string.outputs.lowercase }} docker tag ${{ steps.dh_string.outputs.lowercase }} ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} docker push ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} From 5f40da81a250af6061fc3322b1441cde1a2d8848 Mon Sep 17 00:00:00 2001 From: Benny Date: Tue, 29 Aug 2023 22:30:39 +0200 Subject: [PATCH 11/11] 1 --- .github/workflows/docker.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index c882df903..1d2dfe998 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -3,7 +3,6 @@ on: push: branches: - 'master' - - 'wf' paths-ignore: - '**.md' - 'LICENSE'