close
Skip to content

Wire sha-exempt allowlist into validate + bump workflows#2233

Draft
tobinsouth wants to merge 2 commits into
mainfrom
tobin/sha-exempt-wiring
Draft

Wire sha-exempt allowlist into validate + bump workflows#2233
tobinsouth wants to merge 2 commits into
mainfrom
tobin/sha-exempt-wiring

Conversation

@tobinsouth

@tobinsouth tobinsouth commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

What

Hardcoded allowlist for plugins that may omit source.sha (invariant I5), wired into both workflows. List starts empty — zero behavior change until a name is added.

  • validate-plugins.yml: sha-exempt names skip the I5 hard error (a present-but-malformed sha still fails)
  • bump-plugin-shas.yml: the same names are skipped by the nightly bump — otherwise an unpinned entry looks permanently stale and gets re-pinned, undoing the exemption

To exempt a plugin: add its name to both sha-exempt lists (space-separated). Comments at each site say so.

Why

I5 is a hard error here, so an entry that intentionally tracks a branch (how nvidia-skills arrived in #2088) breaks validate for every PR with no escape hatch short of demoting I5 to a warning for all entries.

Depends on

⚠️ DRAFT until anthropics/claude-plugins-community#47 merges. The action pins currently point at that PR's branch head (2324c6d8). Before marking ready: merge #47, then repoint both uses: pins to the resulting merge commit on main (the branch SHA may become unreachable after branch deletion).

Verified the pin bumps are otherwise clean: git log <old-pin>..main -- .github/actions/{validate-plugins,bump-plugin-shas}/ is empty for both old pins, so only the sha-exempt change rides along.

After merge

Add names as needed, e.g. sha-exempt: "some-plugin other-plugin" in both files.

Adds the sha-exempt input (claude-plugins-community#47) to both
workflows, with an initially empty list:

- validate-plugins.yml: names listed here may omit source.sha
  (invariant I5) instead of failing CI repo-wide
- bump-plugin-shas.yml: the same names are skipped by the nightly
  bump so it does not re-pin a deliberately unpinned entry

Action pins bumped to the commit introducing the input. Neither action
changed otherwise between the old pins and this one. Empty lists mean
no behavior change until a name is added.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant