validate-plugins.yml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. name: Validate Plugins
  2. on:
  3. pull_request:
  4. paths:
  5. - '.claude-plugin/**'
  6. - '*/.claude-plugin/**'
  7. - '*/agents/**'
  8. - '*/skills/**'
  9. - '*/commands/**'
  10. push:
  11. branches: [main]
  12. paths:
  13. - '.claude-plugin/**'
  14. # `validate` is a required status check on main. Bump PRs are opened with
  15. # GITHUB_TOKEN, which doesn't fire on:pull_request (recursion guard), so the
  16. # path-filtered trigger above never reports on them and the PR would be
  17. # blocked forever. The bump workflow dispatches this against each per-entry
  18. # bump branch instead; the check run lands on the branch HEAD (= PR head)
  19. # and satisfies the required check. The validate job runs unconditionally,
  20. # so a dispatch always reports.
  21. workflow_dispatch:
  22. permissions:
  23. contents: read
  24. jobs:
  25. validate:
  26. runs-on: ubuntu-latest
  27. steps:
  28. - uses: actions/checkout@v4
  29. with:
  30. fetch-depth: 0
  31. - uses: anthropics/claude-plugins-community/.github/actions/validate-plugins@2324c6d8d9d8ceebc9bf253e5d683320dbf40760
  32. with:
  33. marketplace-path: .claude-plugin/marketplace.json
  34. # Official curated marketplace: SHA-pin (I5) is a HARD error.
  35. # I8/I11 are warnings until the 15 known vendored-path/name issues
  36. # are cleaned up (see PR body); tighten to "I1 I3" after.
  37. warn-invariants: "I1 I3 I8 I11"
  38. # Plugins allowed to omit source.sha (deliberately unpinned,
  39. # tracking a branch). Space-separated names. Any name added here
  40. # MUST also be added to sha-exempt in bump-plugin-shas.yml, or the
  41. # nightly bump re-pins it. A malformed sha still fails even for
  42. # listed names.
  43. sha-exempt: ""
  44. claude-cli-version: latest