diff --git a/.github/workflows/container_image.yaml b/.github/workflows/container_image.yaml new file mode 100644 index 0000000..bc2329e --- /dev/null +++ b/.github/workflows/container_image.yaml @@ -0,0 +1,56 @@ +name: Publish to GHCR.io + +on: [push] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build_tag_push_to_ghcr: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + + + - name: Set up QEMU + uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3 + + - name: Setup Docker buildx + uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0 + + - name: Log into registry ${{ env.REGISTRY }} + uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5.5.1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch,prefix= + type=ref,event=tag,prefix= + type=sha,format=short,prefix= + type=sha,format=long,prefix= + + - name: Build and push Docker image + id: build-and-push + uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5.4.0 + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + provenance: false + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.github/workflows/ghcr.yml b/.github/workflows/ghcr.yml deleted file mode 100644 index 63933ff..0000000 --- a/.github/workflows/ghcr.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: Build, Tag and Publish Docker image to ghcr.io - -on: [push] - -jobs: - build_tag_push_to_ghcr: - runs-on: ubuntu-latest - steps: - - name: Build, Tag and Push Docker Image to GHCR - uses: GlueOps/github-actions-build-push-containers@main