Skip to content

test(bundle): drive the tide merge gate's missing_labels block and labelMatch wildcards through dist/index.js - #289

Merged
github-actions[bot] merged 3 commits into
mainfrom
quality/test-bundle-merge-gate-labels
Oct 9, 2026
Merged

github-actions[bot] merged 3 commits into
mainfrom
quality/test-bundle-merge-gate-labels

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Test Improvement

Files: __tests__/bundle/mergeGateLabels.test.ts (new, bundle e2e). Cluster: tide merge gate missing_labels arm + src/utils/labelMatch.ts wildcard branches, driven through dist/index.js. Disjoint from the held bundle PRs (#242 cron jobs input, #244 /meow, #246 label commands, #283 OWNERS auth, #286 approve.github_review) — none of them drives tide's gate.

Three pull_request labeled lgtm runs on a clean, lgtm-bound PR:

  1. default configuration, labels lgtm + do-not-merge/invalid-owners-file → skipping pr #1: blocked by do-not-merge/invalid-owners-file, no PUT; the hand-applied lgtm is still bound and the gate stops before the binding read
  2. tide.missing_labels: ["do-not-merge/*", "*-wip", "*wip*"], labels lgtm + wip-docs → blocked by wip-docs (*-wip fails on the suffix → labelMatch.ts:24; *wip* finds its middle part → 31-35)
  3. same configuration, labels lgtm + needs-rebase → squash-merges: the configured list replaces the default one, as docs/automatic-merging.md says

Evidence (main @ 3fc21f2, Node v26.10.0, vitest 5.0.3, npm run test:coverage:e2e): labelMatch.ts 66.66 → 94.44 % lines, 58.33 → 100 % branches (remaining line 47 is anyLabelMatches, which has no caller under src/); mergeGate.ts 100 %. Bundle suite 6 files / 145 tests green; eslint and tsc --noEmit clean.

Related Issue

Closes #288


Filed by quality agent (hold-gated mode). Human review required.

— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88

…belMatch wildcards through dist/index.js

No bundle test produced 'skipping pr #N: blocked by <label>': every labeled
lgtm case merged or stopped on a missing label. Three pull_request labeled
lgtm runs now cover the default do-not-merge/* family, a configured list
with wildcards at both ends and in the middle of a pattern, and the rule
that a configured missing_labels list replaces the default one.

test:coverage:e2e on main@3fc21f2: labelMatch.ts 66.66 -> 94.44 % lines,
58.33 -> 100 % branches (line 47, anyLabelMatches, has no caller in src/);
mergeGate.ts 100 %.

Signed-off-by: quality <quality@hive.kubestellar.io>
@hivecommons-hive
hivecommons-hive Bot requested a review from jpmcb as a code owner October 4, 2026 00:14
@hivecommons-hive hivecommons-hive Bot added the hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 4, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

Important

Held for human review by the hive's ACMM level gate.

This PR was opened by the "quality" agent while Hive policy required a human checkpoint for that agent. Non-outreach agents are held at ACMM L3–L5; the outreach agent is always held because it publishes project-facing communication.

Hive will keep the hold label until a human removes it. Operators can make a deliberate one-off release during an ACMM level change with release_level_holds=true, but level changes never release this hold automatically.

@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

The red build-test on run(s) 37164340088 is the shared meow.test.ts → api.thecatapi.com passthrough failure tracked as incident #294 (root cause #284, fix held in #287) — all 81 files / 1648 tests passed and this PR does not touch that file. Deferring this PR until #287 lands; no further re-runs or pushes for this failure.


🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 3fc21f2

— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88

This was referenced Oct 4, 2026

@jeefy jeefy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Every new line comes from the wildcard case at :65.

  • Drop mergeGateLabels.test.ts:52–63. bundle.test.ts:1852 already covers the default do-not-merge/* block.
  • Drop :79–92. :65 reaches everything it does.

quality added 2 commits October 7, 2026 21:50
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

Addressed: dropped the default do-not-merge/* case and the replaced-list merge case; only the wildcard pattern case remains. Merged main too (it brings #287's meow network fix, which is what build-test was failing on).


🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: unknown

— hive: agent=quality backend=copilot model=claude-fable-5.1

@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

Addressed in 90e606e: dropped the default do-not-merge/* case and the configured-list case; the file keeps only the wildcard case.

CI is green on the new head.


🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 1f7d33c

— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88

@jeefy jeefy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Asks addressed; verified on current main (aa6a0f8) together with the other approved PRs.

@jeefy

jeefy commented Oct 9, 2026

Copy link
Copy Markdown
Member

/kind cleanup
/lgtm
/approve
/hold cancel

@github-actions github-actions Bot added kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged. and removed hold Indicates that a PR should not merge because someone has issued a /hold command. labels Oct 9, 2026
@github-actions
github-actions Bot merged commit e4fd691 into main Oct 9, 2026
10 checks passed
@mrbobbytables
mrbobbytables deleted the quality/test-bundle-merge-gate-labels branch October 9, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[quality] the bundle suite never drives the tide merge gate's missing_labels block or labelMatch wildcards

1 participant