From a7eece0887aef41c7e48f03ef2cf1781173ab915 Mon Sep 17 00:00:00 2001 From: mzz <2017@duck.com> Date: Tue, 14 Mar 2023 01:13:10 +0800 Subject: [PATCH] chore: add docker image --- .github/workflows/release.yml | 45 +++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 62be52c..99ee454 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -135,3 +135,48 @@ jobs: file: ./dae-${{ steps.get_filename.outputs.ASSET_NAME }}.zip* overwrite: true tag: ${{ github.ref }} + + docker: + runs-on: ubuntu-22.04 + steps: + - name: Checkout codebase + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Prepare + id: prep + env: + REF: ${{ github.ref }} + run: | + if [[ "$REF" == "refs/tags/v"* ]]; then + tag=$(git describe --tags $(git rev-list --tags --max-count=1)) + tag=${tag:1} + else + tag=$(git log -1 --format="%cd" --date=short | sed s/-//g) + fi + echo "IMAGE=daeuniverse/dae" >> $GITHUB_OUTPUT + echo "TAG=$tag" >> $GITHUB_OUTPUT + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - 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: Build production image + uses: docker/build-push-action@v4 + with: + context: . + builder: ${{ steps.buildx.outputs.name }} + file: Dockerfile + platforms: linux/arm,linux/arm64,linux/amd64 + push: true + tags: | + ${{ steps.prep.outputs.IMAGE }}:${{ steps.prep.outputs.TAG }} + ${{ steps.prep.outputs.IMAGE }}:latest + cache-from: type=gha + cache-to: type=gha,mode=max