Files

63 lines
1.8 KiB
YAML

name: Validate plugin
on:
workflow_dispatch:
pull_request:
push:
branches: [main]
release:
types: [published]
permissions:
contents: read
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"
cache: pip
cache-dependency-path: requirements-dev.txt
- name: Install validators
run: |
python -m pip install --upgrade pip
python -m pip install -r requirements-dev.txt
python -m pip install "skills-ref @ git+https://github.com/agentskills/agentskills.git@217be548739f21d6008915c29aefe320ea1a90af#subdirectory=skills-ref"
- name: Install Claude Code validator
run: npm install --global @anthropic-ai/claude-code@2.1.226
- name: Reject generated adapter drift
run: python scripts/generate_adapters.py --check
- name: Validate Agent Skills specification
run: |
for skill in packages/sent/skills/*; do
skills-ref validate "$skill"
done
- name: Validate package and policy
run: python scripts/validate.py
- name: Validate Claude marketplace and plugin
run: |
claude plugin validate . --strict
claude plugin validate ./claude-plugins/sent --strict
- name: Test validation rejection gates
run: python scripts/test_validation_gates.py
- name: Test utility fixture contracts
run: python scripts/test_fixtures.py
- name: Test Sent API contract regressions
run: python scripts/test_contracts.py
- name: Test freshness monitor simulations
run: python scripts/test_live_contract.py