name: PR validation on: push: branches: [ "main" ] pull_request: branches: [ "main" ] workflow_dispatch: permissions: contents: read jobs: catalog-check: name: Catalog check runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Setup Node uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 22 # Every entry resolves (repo, commit, path, manifest, name, version) and # the Copilot, Claude, and Codex catalogs list the same plugins at the same pin. - name: Check catalogs env: GITHUB_TOKEN: ${{ github.token }} run: node scripts/check-catalogs.mjs vally-lint: name: Local plugin lint (vally) runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Setup Node uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 22 # Same linter and version github/awesome-copilot runs on external plugins. # Only plugins stored in this repo are linted; remote plugins are linted # in their own repositories. - name: Install local plugin lint dependencies run: npm ci --prefix scripts/vally --no-audit --no-fund - name: Check WinDbg package run: node scripts/validate-windbg.mjs - name: Test WinDbg diagnosis validator run: node scripts/tests/test-windbg-validator.mjs - name: Lint local plugin skills run: node scripts/vally/lint-skills.mjs # Fixture-based self-test: a plugin stored in this repo is checked and linted. - name: Test catalog tooling run: node scripts/tests/test-catalog-tools.mjs