| name: Docker |
|
|
| |
| |
| |
| |
|
|
| on: |
| push: |
| branches: ['main'] |
|
|
| env: |
| |
| REGISTRY: ghcr.io |
| |
| IMAGE_NAME: ${{ github.repository }} |
|
|
| jobs: |
| build: |
| runs-on: ubuntu-latest |
| permissions: |
| contents: read |
| packages: write |
| |
| |
| id-token: write |
|
|
| steps: |
| - name: Checkout repository |
| uses: actions/checkout@v3 |
|
|
| - name: Set up QEMU |
| uses: docker/setup-qemu-action@v2.1.0 |
| |
| |
| - name: Setup Docker buildx |
| uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf |
|
|
| |
| |
| - name: Log into registry ${{ env.REGISTRY }} |
| if: github.event_name != 'pull_request' |
| uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c |
| with: |
| registry: ${{ env.REGISTRY }} |
| username: ${{ github.actor }} |
| password: ${{ secrets.GITHUB_TOKEN }} |
|
|
| |
| |
| - name: Extract Docker metadata |
| id: meta |
| uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 |
| with: |
| images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} |
|
|
| |
| |
| - name: Build and push Docker image |
| id: build-and-push |
| uses: docker/build-push-action@ac9327eae2b366085ac7f6a2d02df8aa8ead720a |
| with: |
| context: . |
| platforms: "linux/amd64,linux/arm64" |
| 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 |
|
|