openclaw/scripts/github
Peter Steinberger 862c1f7c65
fix(ci): labeler no longer fails when a PR already has 100 labels (#138841)
* fix(ci): labeler no longer fails when a PR already has 100 labels

PR #137637 taught the size-label step to tolerate GitHub's HTTP 422
"Issues cannot have more than 100 labels", but every other label-adding
step still threw it. On the 2026.9.1 closeout PR #137506 the maintainer
author-role step failed that way and turned the cosmetic Labeler check red.

Move the cap handling into one owner, scripts/github/labeler-label-cap.mjs,
and route all eight addLabels sites across the label, label-issues, and
backfill-pr-labels jobs through it: warn naming the skipped label, succeed,
rethrow anything else. Each job checks out the trusted base commit
(ref: github.sha, persist-credentials: false) like auto-response.yml so the
github-script steps can import the module; no PR code runs. Delete the size
step's pre-count guard so the 422 is the single canonical cap path.

Rename test/scripts/labeler-size-label.test.ts to labeler-label-cap.test.ts;
it executes the real step scripts with the real helper and adds maintainer
step cap coverage plus a workflow-wide invariant that no script calls
issues.addLabels directly.

* test(ci): cover labeler cap helper return value and keep knip aware of it

The knip full-tree unused-file scan flagged scripts/github/labeler-label-cap.mjs
because only the workflow loads it dynamically. Import it from its owner test,
like every other scripts/github module, with a case for the boolean result the
backfill job's label bookkeeping depends on.
2026-09-04 22:56:18 -07:00
..
barnacle-auto-response.mjs fix(github): confine Barnacle skill auto-close (#131619) 2026-08-31 21:12:34 -07:00
dated-todo-upsert.mjs
dependency-guard.mjs
find-reusable-release-validation.sh ci: shorten beta release qualification (#134966) 2026-09-01 02:15:20 -07:00
guard-shared.mjs
labeler-label-cap.mjs fix(ci): labeler no longer fails when a PR already has 100 labels (#138841) 2026-09-04 22:56:18 -07:00
pr-ci-sweeper.mjs fix(ci): preserve draft conversions during PR CI sweeps (#138467) 2026-09-04 12:59:11 -07:00
real-behavior-proof-check.mjs
real-behavior-proof-policy.mjs refactor(scripts): share timeout error factory (#135907) 2026-09-03 12:33:35 +08:00
release-validation-campaign.d.mts fix(ci): narrow release validation GitHub contract (#129783) 2026-08-25 19:47:59 -07:00
release-validation-campaign.mjs Release validation: add isolated campaign skill runner (#129726) 2026-08-25 17:58:39 -07:00
resolve-openclaw-ref.sh
resolve-release-check-artifacts.sh
run-openclaw-cross-os-release-checks.sh
security-sensitive-guard.mjs
validate-release-suite-filters.sh feat(release): make Windows and macOS cross-OS validation advisory (#136788) 2026-09-02 18:31:14 -07:00