name: CI on: push: branches: [ main ] pull_request: branches: [ main ] permissions: contents: read jobs: validate: name: Lint & Verify (${{ matrix.os }}, Python ${{ matrix.python-version }}) strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] python-version: ["3.11", "3.12"] runs-on: ${{ matrix.os }} timeout-minutes: 10 steps: - name: Checkout repository uses: actions/checkout@v4 with: persist-credentials: false - name: Set up Python uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Verify accessible SVG contract run: python3 scripts/test-lint-a11y.py - name: Run skin linter run: python3 scripts/lint-skin.py --all --baseline - name: Verify sequence OAuth specs run: python3 scripts/verify-sequence-oauth.py - name: Verify draw.io import script run: python3 scripts/verify-drawio-import.py - name: Verify Mermaid import script run: python3 scripts/verify-mermaid-import.py - name: Verify generated icon assets run: | python3 scripts/build-icons.py git diff --ignore-space-at-eol --exit-code -- \ skills/diagram-design/assets/icons.html \ skills/diagram-design/references/primitive-icons.md