name: Json Validator on: pull_request: paths: - '**.json' push: branches: - main paths: - '**.json' jobs: json-validator: name: Json Validator runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Validate Json run: | sudo apt-get update sudo apt-get install python3-pip -y --no-install-recommends sudo pip3 install json-spec if ! json validate --schema-file=php/containers-schema.json --document-file=php/containers.json; then exit 1 fi JSON_FILES="$(find ./community-containers -name '*.json')" mapfile -t JSON_FILES <<< "$JSON_FILES" for file in "${JSON_FILES[@]}"; do json validate --schema-file=php/containers-schema.json --document-file="$file" 2>&1 | tee -a ./json-validator.log done if grep -q "document does not validate with schema.\|invalid JSONFile" ./json-validator.log; then exit 1 fi