From 10417631ce9c884b82bd8f3fc89128d2e68f984b Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 23 Aug 2024 17:21:29 +0800 Subject: [PATCH] chore: Update Docker build workflow to push images to internal registry --- .github/workflows/build-docker-internal.yml | 84 +++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 .github/workflows/build-docker-internal.yml diff --git a/.github/workflows/build-docker-internal.yml b/.github/workflows/build-docker-internal.yml new file mode 100644 index 00000000..3c414532 --- /dev/null +++ b/.github/workflows/build-docker-internal.yml @@ -0,0 +1,84 @@ +name: Push docker images to internal registry + +on: + # push: + # branches: [main] + # paths: + # - ".github/workflows/docker.yml" + workflow_run: + workflows: ["Build Linux Artifacts"] + types: + - completed + +env: + VERSION: 0.10.4 +jobs: + build: + if: ${{ github.event.workflow_run.conclusion == 'success' }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Get Version + run: | + echo VERSION=$(cat share/const.go |grep 'const VERSION' | awk '{print $4}' | sed "s/\"//g")-unstable >> $GITHUB_ENV + + - name: Check Version + run: echo $VERSION + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_INTERNAL_USER }} + password: ${{ secrets.DOCKER_INTERNAL_TOKEN }} + + - name: Build Development + uses: docker/build-push-action@v6 + with: + context: ./docker/development + platforms: linux/amd64 + build-args: | + VERSION=${{ env.VERSION }} + ARCH=amd64 + push: true + tags: yaoapp/yao:${{ env.VERSION }}-amd64-dev + + - name: Build Development Arm64 + uses: docker/build-push-action@v6 + with: + context: ./docker/development + platforms: linux/arm64 + build-args: | + VERSION=${{ env.VERSION }} + ARCH=arm64 + push: true + tags: yaoapp/yao:${{ env.VERSION }}-arm64-dev + + - name: Build Production + uses: docker/build-push-action@v6 + with: + context: ./docker/production + platforms: linux/amd64 + build-args: | + VERSION=${{ env.VERSION }} + ARCH=amd64 + push: true + tags: yaoapp/yao:${{ env.VERSION }}-amd64 + + - name: Build Production Arm64 + uses: docker/build-push-action@v6 + with: + context: ./docker/production + platforms: linux/arm64 + build-args: | + VERSION=${{ env.VERSION }} + ARCH=arm64 + push: true + tags: yaoapp/yao:${{ env.VERSION }}-arm64