Skip to content

chore: update ghcr-publish.yml #24

chore: update ghcr-publish.yml

chore: update ghcr-publish.yml #24

Workflow file for this run

name: Build and Push to GHCR
on:
workflow_dispatch:
repository_dispatch:
types: [Build and Push to GHCR]
push:
branches:
- master
jobs:
build-and-push-to-ghcr:
runs-on: ubuntu-latest
steps:
- name: Get Short SHA
uses: benjlevesque/[email protected]
id: short-sha
with:
length: 7
- name: Checkout
uses: actions/[email protected]
- name: Log into GHCR
run: echo "${{ secrets.GIT_TOKEN }}" | docker login https://ghcr.io -u ${{ github.actor }} --password-stdin
- name: Set up QEMU
uses: docker/[email protected]
with:
image: tonistiigi/binfmt:latest
platforms: all
- name: Set up Docker Buildx
uses: docker/[email protected]
with:
install: true
version: latest
driver-opts: image=moby/buildkit:master
- name: Build and push amd64
uses: docker/[email protected]
with:
context: ./
file: ./Dockerfile
push: true
provenance: false
tags: |
ghcr.io/${{ secrets.GIT_USER }}/autoscan:amd64
ghcr.io/${{ secrets.GIT_USER }}/autoscan:amd64_commit-${{ steps.short-sha.outputs.sha }}
platforms: linux/amd64
build-args: |
OVERLAY_ARCH=amd64
ARCH=amd64
- name: Build and push aarch64
uses: docker/[email protected]
with:
context: ./
file: ./Dockerfile
push: true
provenance: false
tags: |
ghcr.io/${{ secrets.GIT_USER }}/autoscan:arm64
ghcr.io/${{ secrets.GIT_USER }}/autoscan:arm64_commit-${{ steps.short-sha.outputs.sha }}
platforms: linux/arm64
build-args: |
OVERLAY_ARCH=aarch64
ARCH=arm64
- name: Create and push manifest images
uses: Noelware/docker-manifest-action@master
with:
inputs: ghcr.io/${{ secrets.GIT_USER }}/autoscan:latest
images: ghcr.io/${{ secrets.GIT_USER }}/autoscan:amd64,ghcr.io/${{ secrets.GIT_USER }}/autoscan:arm64
push: true
- name: ntfy success notifications
uses: niniyas/ntfy-action@master
if: success()
with:
url: ${{ secrets.NTFY_URL }}
topic: ${{ secrets.NTFY_TOPIC }}
tags: github,action,+1,partying_face
priority: 4
image: true
actions: 'default'
details: 'Workflow has been completed successfully!'
headers: '${{ secrets.NTFY_HEADERS }}'
- name: ntfy failed notifications
uses: niniyas/ntfy-action@master
if: failure()
with:
url: ${{ secrets.NTFY_URL }}
topic: ${{ secrets.NTFY_TOPIC }}
tags: github,action,failed,rotating_light
priority: 5
image: true
actions: 'default'
details: 'Workflow has failed!'
headers: '${{ secrets.NTFY_HEADERS }}'
- name: ntfy cancelled notifications
uses: niniyas/ntfy-action@master
if: cancelled()
with:
url: ${{ secrets.NTFY_URL }}
topic: ${{ secrets.NTFY_TOPIC }}
tags: github,action,cancelled,skull
details: 'Workflow has been cancelled!'
headers: '${{ secrets.NTFY_HEADERS }}'
image: true
actions: 'default'