name: XML/JSON validation on: push: paths: - '.github/workflows/**' - 'ctrlr/*' - 'hash/*' - 'plugins/**' pull_request: paths: - '.github/workflows/**' - 'ctrlr/*' - 'hash/*' - 'plugins/**' permissions: contents: read jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@main with: fetch-depth: 0 - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y libxml2-utils python3-jsonschema - name: Validate (controller configuration) run: for x in ctrlr/*.cfg ; do xmllint --noout "$x" ; done - name: Validate (HSI) run: for x in hash/*.hsi ; do xmllint --noout "$x" ; done - name: Validate (software list) run: for x in hash/*.xml ; do xmllint --noout --valid "$x" ; done - name: Validate (plugin properties) run: for x in plugins/*/plugin.json ; do jsonschema -i "$x" plugins/plugin.schema ; done