|
|
@@ -0,0 +1,40 @@
|
|
|
+name: Compatibility Data Validator
|
|
|
+
|
|
|
+on:
|
|
|
+ push:
|
|
|
+ paths:
|
|
|
+ - "plugins/win-capture/data/compatibility.json"
|
|
|
+ - "plugins/win-capture/data/package.json"
|
|
|
+ pull_request:
|
|
|
+ paths:
|
|
|
+ - "plugins/win-capture/data/compatibility.json"
|
|
|
+ - "plugins/win-capture/data/package.json"
|
|
|
+
|
|
|
+jobs:
|
|
|
+ schema:
|
|
|
+ name: Schema
|
|
|
+ runs-on: [ubuntu-22.04]
|
|
|
+ steps:
|
|
|
+ - name: Checkout
|
|
|
+ uses: actions/checkout@v3
|
|
|
+
|
|
|
+ - name: Install & Configure Python
|
|
|
+ run: |
|
|
|
+ sudo apt install python3-dev
|
|
|
+ python3 -m pip install jsonschema json_source_map
|
|
|
+
|
|
|
+ - name: Validate Compatibility JSON Schema
|
|
|
+ run: |
|
|
|
+ JSON_FILES=(
|
|
|
+ plugins/win-capture/data/compatibility.json
|
|
|
+ plugins/win-capture/data/package.json
|
|
|
+ )
|
|
|
+ python3 CI/check-jsonschema.py "${JSON_FILES[@]}"
|
|
|
+
|
|
|
+ - name: Annotate Errors
|
|
|
+ if: failure()
|
|
|
+ uses: yuzutech/[email protected]
|
|
|
+ with:
|
|
|
+ repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
|
|
+ title: "Compatibility JSON Errors"
|
|
|
+ input: "./validation_errors.json"
|