From 492eb57e7ecfe407a75a36df053d6aafe96abf4e Mon Sep 17 00:00:00 2001 From: Benny Date: Thu, 26 Oct 2023 21:03:16 +0200 Subject: [PATCH] remove self-host runner --- .github/workflows/docker.yaml | 115 +++++++--------------------------- 1 file changed, 21 insertions(+), 94 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 1d2dfe998..11f1842cf 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -8,7 +8,7 @@ on: - 'LICENSE' jobs: - amd64: + docker: runs-on: ubuntu-latest steps: - name: Checkout @@ -16,6 +16,9 @@ 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 @@ -33,6 +36,13 @@ 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 }} @@ -49,6 +59,12 @@ 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: @@ -62,10 +78,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 + ${{ steps.dh_string.outputs.lowercase }} build-args: | env=dev cache-from: type=local,src=/tmp/.buildx-cache @@ -83,12 +97,11 @@ jobs: uses: docker/build-push-action@v4 with: context: . - platforms: linux/amd64 + platforms: linux/amd64, linux/arm64 push: true - provenance: false - sbom: false tags: | - ${{ steps.dh_string.outputs.lowercase }}:amd64 + ${{ steps.dh_string.outputs.lowercase }} + ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max @@ -97,92 +110,6 @@ jobs: 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: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_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: Build and push docker images - uses: docker/build-push-action@v4 - with: - 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 - cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - combine: - 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 - 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 ${{ 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 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 }} - - name: Notification to Telegram env: TOKEN: ${{ secrets.BOT_TOKEN }}