From e48659ff574f7caf6ab37c7d2a035c4bbe4edf01 Mon Sep 17 00:00:00 2001 From: Gaisberg Date: Wed, 24 Jul 2024 07:54:10 +0300 Subject: [PATCH] fix: docker metadata from release please --- .github/workflows/docker-build.yml | 47 ++++++++++++++++++------------ Dockerfile | 2 +- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index c62478f3..d72f3baa 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -2,8 +2,8 @@ name: Docker Build and Push on: push: - branches: - - main + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' workflow_dispatch: jobs: @@ -40,21 +40,30 @@ jobs: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - - name: Read VERSION file - id: version - run: echo "VERSION=$(cat version.txt)" >> "$GITHUB_OUTPUT" - - - name: Build and push Docker image - uses: docker/build-push-action@v5.3.0 + - name: Build Docker Metadata + id: docker-metadata + uses: docker/metadata-action@v5 with: - context: . - file: ./Dockerfile - platforms: linux/amd64,linux/arm64 - push: true - cache-from: type=gha - cache-to: type=gha,mode=max - tags: | - ghcr.io/rivenmedia/riven:latest - ghcr.io/rivenmedia/riven:${{ steps.version.outputs.VERSION }} - docker.io/spoked/riven:latest - docker.io/spoked/riven:${{ steps.version.outputs.VERSION }} + images: | + ghcr.io/rivenmedia/riven + docker.io/spoked/riven + flavor: | + latest=auto + tags: | + type=ref,event=tag + type=sha,commit=${{ github.sha }} + type=semver,pattern={{version}} + type=raw,value=latest,enable={{is_default_branch}} + + - name: Push Service Image to repo + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + push: true + provenance: mode=max + tags: ${{ steps.docker-metadata.outputs.tags }} + labels: ${{ steps.docker-metadata.outputs.labels }} + platforms: linux/amd64,linux/arm64 + cache-from: type=gha,scope=${{ github.workflow }} + cache-to: type=gha,mode=max,scope=${{ github.workflow }} diff --git a/Dockerfile b/Dockerfile index 4b49b296..c8ccdbd7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -61,7 +61,7 @@ ENV PATH="/app/.venv/bin:$PATH" # Copy the rest of the application code COPY src/ /riven/src COPY pyproject.toml poetry.lock /riven/src/ -COPY version.txt entrypoint.sh /riven/ +COPY entrypoint.sh /riven/ # Ensure entrypoint script is executable RUN chmod +x /riven/entrypoint.sh