Răsfoiți Sursa

CI: Validate compatibility schema

derrod 3 ani în urmă
părinte
comite
3fd7216661
1 a modificat fișierele cu 40 adăugiri și 0 ștergeri
  1. 40 0
      .github/workflows/compat-json.yml

+ 40 - 0
.github/workflows/compat-json.yml

@@ -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"