feat(ci): require discovery tags on publishable workers#544
Conversation
pr-checks now fails a publishable worker whose iii.worker.yaml has a missing or empty tags: list, since the registry indexes workers by tags for search and collections. Workers that opt out of publishing with interface_smoke: false (acp, iii-lsp) keep tags optional. Existing shape checks (list of strings) still apply to every worker. Adds validator tests for the new gate and documents the requirement in docs/sops/new-worker.md and the README CI section.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 17 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
skill-check — worker0 verified, 46 skipped (no docs/).
Four for four. Nicely done. |
Summary
pr-checks(.github/scripts/validate_worker.py) previously only validated theshape of a worker's
tags:list when present, so a publishable worker couldship with no
tags:at all and still pass CI — leaving it undiscoverable in theregistry (tags back registry search/collections, added in #512).
This makes a non-empty
tags:list a hard requirement for publishableworkers, while keeping it optional for workers that opt out of publishing.
tags:list is nowa
hard()error with an actionable message pointing at the SOP. Shape checks(list of strings) still apply to every worker.
release.ymlgates the
_publish-registry.ymlcall oninterface_smoke != 'false', derivedfrom
m.raw.get("interface_smoke") is False. So a worker is publishable unlessiii.worker.yamlsetsinterface_smoke: false(exact boolean). The gate usesthe same predicate:
m.raw.get("interface_smoke") is not False. The only twoworkers without tags today (
acp,lsp) both setinterface_smoke: false, sothe current tree stays valid.
valid-tags (pass), and
interface_smoke: falseopt-out with no tags (pass);existing shape-failure cases still fail.
docs/sops/new-worker.mdanda note in the README CI section.
Test plan
pytest .github/scripts/tests/->121 passedpr-checksgreen on the changed scriptsNote
The
pr-linear-checkworkflow may fail because this PR title/branch has no Linearticket id (e.g.
MOT-XXXX). I did not fabricate one — please add your own ticketreference to the title/branch if required.