name: ci on: push: pull_request: jobs: xmllint: runs-on: fedora defaults: run: shell: bash container: image: git.phyllo.me/devops/fedora-runner-image:latest steps: - uses: https://git.phyllo.me/devops/checkout@v5 with: fetch-depth: 0 - name: Validate XML definitions run: | if command -v xmllint >/dev/null; then for f in $(find . -name '*.xml'); do xmllint --noout "$f" done else python3 - <<'EOF' import glob, xml.etree.ElementTree as ET files = glob.glob('**/*.xml', recursive=True) for f in files: ET.parse(f) # raises on malformed XML print(f"ok: {len(files)} XML files well-formed") EOF fi