mirror of
https://github.com/mkuf/prind.git
synced 2025-10-26 07:46:19 +01:00
64 lines
1.7 KiB
YAML
64 lines
1.7 KiB
YAML
name: 'Build and Publish Images on Push'
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- docker/**
|
|
|
|
jobs:
|
|
changes:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
pull-requests: read
|
|
outputs:
|
|
apps: ${{ steps.filter.outputs.changes }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: dorny/paths-filter@v3
|
|
id: filter
|
|
with:
|
|
filters: |
|
|
klipper:
|
|
- docker/klipper/**
|
|
klipperscreen:
|
|
- docker/klipperscreen/**
|
|
moonraker:
|
|
- docker/moonraker/**
|
|
ustreamer:
|
|
- docker/ustreamer/**
|
|
build:
|
|
needs: changes
|
|
if: ${{ needs.changes.outputs.apps != '' && toJson(fromJson(needs.changes.outputs.apps)) != '[]' }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
app: ${{ fromJSON(needs.changes.outputs.apps) }}
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: "[prind] checkout"
|
|
uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
- name: "[prind] set up build environment"
|
|
uses: ./.github/actions/image-build-common
|
|
- name: "[docker] login"
|
|
uses: docker/login-action@v3.3.0
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
- name: "[prind] build"
|
|
run: |
|
|
python3 scripts/build/build.py ${{ matrix.app }} \
|
|
--backfill 0 \
|
|
--platform linux/amd64 \
|
|
--platform linux/arm/v6 \
|
|
--platform linux/arm/v7 \
|
|
--platform linux/arm64/v8 \
|
|
--registry docker.io/${{ secrets.DOCKERHUB_USERNAME }} \
|
|
--push \
|
|
--force
|