Skip to content

build(deps): bump pandas from 2.2.3 to 2.3.3 (#20) #51

build(deps): bump pandas from 2.2.3 to 2.3.3 (#20)

build(deps): bump pandas from 2.2.3 to 2.3.3 (#20) #51

Workflow file for this run

name: Validate integrations
on:
pull_request:
push:
branches: [main]
permissions:
contents: read
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.12"
- name: Validate integration manifests against schema
run: |
pip install jsonschema pyyaml
python - <<'PY'
import json, sys, pathlib, yaml, jsonschema
schema = json.loads(pathlib.Path("schema/integration.schema.json").read_text())
failures = 0
dirs = [d for d in pathlib.Path("integrations").iterdir() if d.is_dir() and not d.name.startswith("_")]
for d in dirs:
manifest = d / "integration.yaml"
readme = d / "README.md"
if not manifest.exists():
print(f"FAIL {d.name}: missing integration.yaml"); failures += 1; continue
if not readme.exists():
print(f"FAIL {d.name}: missing README.md"); failures += 1; continue
try:
jsonschema.validate(yaml.safe_load(manifest.read_text()), schema)
print(f"OK {d.name}")
except jsonschema.ValidationError as e:
print(f"FAIL {d.name}: {e.message}"); failures += 1
print(f"{len(dirs)} integration(s), {failures} failure(s)")
sys.exit(1 if failures else 0)
PY