Skip to content

test: assert action.yml inputs match the core.getInput names read in src/ - #232

Merged
github-actions[bot] merged 1 commit into
mainfrom
quality/test-action-inputs-contract
Oct 2, 2026
Merged

github-actions[bot] merged 1 commit into
mainfrom
quality/test-action-inputs-contract

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Test Improvement

Adds a describe('action.yml mirrors the inputs src/ reads') block to __tests__/workflows.test.ts:

Test Asserts
declares every input src/ reads every string-literal argument of get(Boolean|Multiline)?Input(...) under src/**/*.ts is a key of action.yml inputs — failure message names the reading file(s)
declares no input src/ never reads the two sets are equal, so an action.yml knob nothing consumes also fails
always reads the token github-token is read by at least one file (guards the scanner itself against a regex that matches nothing)

Verified locally on main @ c48bd6d: 43/43 in workflows.test.ts, eslint clean; misspelling dry-run in src/cronJobs/labelSync.ts turns the first two tests red with dry-runn is read by src/cronJobs/labelSync.ts.

Files: __tests__/workflows.test.ts only (a test file; nothing under .github/ changes). Disjoint from open hold-gated PRs #217 (utils/auth.test.ts), #219 (plugins/tideMergeQueue.test.ts, testUtils.ts), #221 (plugins/approveEvents.test.ts), #223 (labelSync/approve/label/lgtm/utils/mergeQueue tests), #225 (meow/trigger/plugins/tide tests), #227 (requireMatchingLabelErrorPaths.test.ts), #229 (utils/configSweep.test.ts), #230 (vitest.config.mjs).

Related Issue

Closes #231


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

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

…es read in src/

Walk src/**/*.ts for get(Boolean|Multiline)?Input literals and require set
equality with action.yml inputs, so a misspelt or undeclared input fails the
suite instead of silently reading the empty string at runtime.

Closes #231

Signed-off-by: quality <quality@hive.kubestellar.io>
@hivecommons-hive
hivecommons-hive Bot requested a review from jpmcb as a code owner September 29, 2026 22:13
@hivecommons-hive hivecommons-hive Bot added the hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 29, 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 automatically remove the hold label once current policy no longer requires a level hold for "quality". If this is an outreach PR, a human must review it and remove the label.

@jeefy

jeefy commented Oct 2, 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. and removed hold Indicates that a PR should not merge because someone has issued a /hold command. labels Oct 2, 2026
@github-actions github-actions Bot added lgtm "Looks good to me", indicates that a PR is ready to be merged. and removed needs-kind labels Oct 2, 2026
@github-actions
github-actions Bot merged commit 882a90d into main Oct 2, 2026
10 checks passed
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] action.yml inputs are not contract-tested against the core.getInput names src/ reads

1 participant