diff --git a/.github/workflows/build-push-docker.yml b/.github/workflows/build-push-docker.yml index 38cb4fe..101cd49 100644 --- a/.github/workflows/build-push-docker.yml +++ b/.github/workflows/build-push-docker.yml @@ -4,6 +4,8 @@ on: push: branches: - 'main' + tags: + - 'v*.*.*' jobs: docker: @@ -11,6 +13,19 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + # list of Docker images to use as base name for tags + images: | + yureien/yabin + # generate Docker tags based on the following events/attributes + tags: | + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx @@ -24,8 +39,9 @@ jobs: uses: docker/build-push-action@v5 with: context: . + push: ${{ github.event_name != 'pull_request' }} platforms: linux/amd64,linux/arm64 - push: true - tags: yureien/yabin:latest cache-from: type=registry,ref=yureien/yabin:buildcache cache-to: type=registry,ref=yureien/yabin:buildcache,mode=max + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}