Skip to content

chore: update workflows #23

chore: update workflows

chore: update workflows #23

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 GitHub Container Registry
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 }}/restic-rclone:amd64
ghcr.io/${{ secrets.GIT_USER }}/restic-rclone: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 }}/restic-rclone:arm64
ghcr.io/${{ secrets.GIT_USER }}/restic-rclone:arm64_commit-${{ steps.short-sha.outputs.sha }}
platforms: linux/arm64
build-args: |
OVERLAY_ARCH=aarch64
ARCH=arm64
- name: Build and push armv7
uses: docker/[email protected]
with:
context: ./
file: ./Dockerfile.armhf
push: true
provenance: false
tags: |
ghcr.io/${{ secrets.GIT_USER }}/restic-rclone:armhf
ghcr.io/${{ secrets.GIT_USER }}/restic-rclone:armhf_commit-${{ steps.short-sha.outputs.sha }}
platforms: linux/arm/v7
build-args: |
OVERLAY_ARCH=arm
ARCH=arm
RCLONE_ARCH=arm-v7
- name: Create and push manifest images
uses: Noelware/docker-manifest-action@master
with:
inputs: ghcr.io/${{ secrets.GIT_USER }}/restic-rclone:latest
images: ghcr.io/${{ secrets.GIT_USER }}/restic-rclone:amd64,ghcr.io/${{ secrets.GIT_USER }}/restic-rclone:arm64,ghcr.io/${{ secrets.GIT_USER }}/restic-rclone:armhf
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'