From 2edc6be7db412c32e16b6ad67c62ca3e3e68d067 Mon Sep 17 00:00:00 2001 From: david-hummingbot <85695272+david-hummingbot@users.noreply.github.com> Date: Mon, 8 Jul 2024 10:30:49 +0800 Subject: [PATCH] update docker buildx workflow --- .github/workflows/main.yml | 75 +++++++++++++++++++++++++++----------- 1 file changed, 54 insertions(+), 21 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1163eae2..0657e8ef 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,47 +1,80 @@ -name: Build and Push Docker image +name: Dashboard Docker Buildx Workflow on: pull_request: types: [closed] branches: - main + - development + release: + types: [published, edited] jobs: - build: + build_pr: + if: github.event_name == 'pull_request' && github.event.pull_request.merged == true runs-on: ubuntu-latest - if: github.event.pull_request.merged == true steps: - name: Checkout code - uses: actions/checkout@v3.5.3 + uses: actions/checkout@v4.1.1 - name: Set up QEMU - uses: docker/setup-qemu-action@v2.2.0 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.9.1 - with: - version: latest + uses: docker/setup-buildx-action@v3.1.0 - name: Login to DockerHub - uses: docker/login-action@v2.2.0 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - id: docker_build - uses: docker/build-push-action@v4.1.1 + - name: Build and push Development Image + if: github.base_ref == 'development' + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: hummingbot/dashboard:development + + - name: Build and push Latest Image + if: github.base_ref == 'main' + uses: docker/build-push-action@v5 with: context: . + file: ./Dockerfile + platforms: linux/amd64,linux/arm64 push: true tags: hummingbot/dashboard:latest + + build_release: + if: github.event_name == 'release' + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4.1.1 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3.1.0 + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Extract tag name + id: get_tag + run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . platforms: linux/amd64,linux/arm64 - build-args: | - BRANCH=${{ github.ref }} - COMMIT=${{ github.sha }} - BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') - cache-from: type=registry,ref=hummingbot/dashboard:latest - cache-to: type=inline - - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} + push: true + tags: hummingbot/dashboard:${{ steps.get_tag.outputs.VERSION }}