|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| name: GHCR Image CI
|
|
|
| on:
|
| push:
|
| tags:
|
| - "v*.*.*"
|
|
|
| env:
|
| REGISTRY: ghcr.io
|
| IMAGE_NAME: ${{ github.repository }}
|
|
|
| jobs:
|
| build-and-push-image:
|
| runs-on: ubuntu-latest
|
| permissions:
|
| contents: read
|
| packages: write
|
|
|
| steps:
|
| - name: Checkout repository
|
| uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
|
|
|
| - name: Setup qemu
|
| uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3
|
|
|
| - name: Setup Docker Buildx
|
| uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226
|
|
|
| - name: Log in to the Container registry
|
| uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d
|
| with:
|
| registry: ${{ env.REGISTRY }}
|
| username: ${{ github.actor }}
|
| password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
| - name: Extract metadata (tags, labels) for Docker
|
| id: meta
|
| uses: docker/metadata-action@31cebacef4805868f9ce9a0cb03ee36c32df2ac4
|
| with:
|
| images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
|
|
| - name: Build and push Docker image
|
| uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56
|
| with:
|
| context: .
|
| platforms: linux/amd64,linux/arm64
|
| push: true
|
| tags: ${{ steps.meta.outputs.tags }}
|
| labels: ${{ steps.meta.outputs.labels }}
|
|
|