Skip to content

klipper: use git to generate version file #1

klipper: use git to generate version file

klipper: use git to generate version file #1

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-latest
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/[email protected]
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