33 lines
834 B
YAML
33 lines
834 B
YAML
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 |