From c9aef3ddfe23036d63a8576baa725117106c8058 Mon Sep 17 00:00:00 2001 From: songtianlun Date: Wed, 22 Jan 2025 09:23:59 +0800 Subject: [PATCH] build: update Docker workflow for versioning - Add checkout step to retrieve full git history - Introduce a step to get the current version of the project - Modify login step to use the actor's username instead of a constant - Update the tags to use dynamic versioning in Docker image push These changes improve the Docker workflow by ensuring that the correct version tag is used when building and pushing Docker images. The modified steps enhance traceability and allow the workflow to handle versioning accurately based on current git tags, addressing the need for specific version control in the images produced. --- .github/workflows/docker.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index c98bdc2..f6be385 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -14,13 +14,23 @@ jobs: docker: runs-on: ubuntu-latest steps: + - + name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 # 获取完整的 git history 以便生成正确的 tag + - + name: Get Version + id: get_version + run: | + echo "VERSION=$(git describe --dirty --always --tags --abbrev=7)" >> $GITHUB_OUTPUT - name: Login to ${{ env.REGISTRY }} if: github.event_name != 'pull_request' uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} - username: ${{ secrets.DOCKERHUB_USER }} + username: ${{github.actor}} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up QEMU @@ -34,4 +44,6 @@ jobs: with: context: . push: ${{ github.event_name != 'pull_request' }} - tags: ${{ env.REGISTRY }}/${{ secrets.DOCKER_HUB_USER }}/${{ github.event.repository.name }}:latest + tags: | + ${{ env.REGISTRY }}/${{github.actor}}/${{ github.event.repository.name }}:latest + ${{ env.REGISTRY }}/${{github.actor}}/${{ github.event.repository.name }}:${{ steps.get_version.outputs.VERSION }}