diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 892adea..9a12081 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -1,56 +1,45 @@ -# name: Build and Push Docker Image -# -# on: -# push: -# tags: ['v*'] -# pull_request: -# branches: [main] -# -# env: -# REGISTRY: ghcr.io -# IMAGE_NAME: ${{ github.repository }} -# -# jobs: -# build-and-push: -# runs-on: ubuntu-latest -# permissions: -# contents: read -# packages: write -# -# steps: -# - name: Checkout repository -# uses: actions/checkout@v6.0.2 -# -# - name: Set up Docker Buildx -# uses: docker/setup-buildx-action@v3.12.0 -# -# - name: Log in to Container Registry -# if: github.event_name != 'pull_request' -# uses: docker/login-action@v3.6.0 -# with: -# registry: ${{ env.REGISTRY }} -# username: ${{ github.actor }} -# password: ${{ secrets.GITHUB_TOKEN }} -# -# - name: Extract metadata (tags, labels) -# id: meta -# uses: docker/metadata-action@v5.10.0 -# with: -# images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} -# tags: | -# type=ref,event=branch -# type=ref,event=pr -# type=semver,pattern={{version}} -# type=semver,pattern={{major}}.{{minor}} -# type=sha,prefix= -# -# - name: Build and push Docker image -# uses: docker/build-push-action@v6.18.0 -# with: -# context: . -# push: ${{ github.event_name != 'pull_request' }} -# tags: ${{ steps.meta.outputs.tags }} -# labels: ${{ steps.meta.outputs.labels }} -# cache-from: type=gha -# cache-to: type=gha,mode=max -# platforms: linux/amd64,linux/arm64 +name: Build and Push Docker Image + +on: + workflow_dispatch: + inputs: + tag: + description: 'Docker image tag' + required: true + type: string + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Container Registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v3.6.0 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ inputs.tag }} + cache-from: type=gha + cache-to: type=gha,mode=max + platforms: linux/amd64,linux/arm64