Files
prind/.github/workflows/image-build-and-publish-push.yaml
renovate[bot] 34a1dc6b73 chore(deps): update actions/checkout action to v5 (#224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 10:45:45 +00:00

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@v5
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@v5
with:
persist-credentials: false
- name: "[prind] set up build environment"
uses: ./.github/actions/image-build-common
- name: "[docker] login"
uses: docker/login-action@v3.5.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