name: validate-ingredients on: push: paths: - 'ingredients/**/*.ks' pull_request: paths: - 'ingredients/**/*.ks' jobs: validate: runs-on: fedora container: image: git.phyllo.me/devops/fedora-runner-image:latest steps: - uses: https://git.phyllo.me/devops/checkout@v5 with: fetch-depth: 0 - name: Install pykickstart run: pip install pykickstart - name: Validate all ingredients run: | errors=0 for ingredient in $(find ingredients -name "*.ks"); do if python3 -c " from pykickstart.parser import KickstartParser from pykickstart.version import makeVersion, DEVEL parser = KickstartParser(makeVersion(DEVEL)) parser.readKickstart(open('$ingredient').read()) " 2>/dev/null; then echo "✓ $ingredient" else echo "✗ $ingredient" errors=$((errors + 1)) fi done echo "Ingredient validation complete: $errors errors" exit $errors