Skip to content

feat(qualityflow): dispatch QF on the ready-tests label (POC) - #173

Draft
guyoron1 wants to merge 2 commits into
fullsend-ai:mainfrom
guyoron1:feat/qf-ready-tests-trigger
Draft

feat(qualityflow): dispatch QF on the ready-tests label (POC)#173
guyoron1 wants to merge 2 commits into
fullsend-ai:mainfrom
guyoron1:feat/qf-ready-tests-trigger

Conversation

@guyoron1

Copy link
Copy Markdown
Contributor

Draft / POC for the 2026-08-19 contributors meeting — not ready for review.

Dispatch QualityFlow when a PR receives the ready-tests label (set by a coverage check_run → label workflow, see fullsend core draft PR), so test planning aims at the measured coverage gap instead of only firing on /fs-plan-tests.

  • harness/qualityflow-ready-tests.yaml (new): base: child of the pinned QF harness with its own CEL trigger label_changed && label.name == "ready-tests" && action == "added" && !is_fork (trigger is not inherited from base, so /fs-plan-tests on the base keeps working). Registered in config.yaml agents[].
  • Per-org path (this org is still per-org): dispatch.yml gains a pull_request_target labeled ready-testsSTAGE=qualityflow case (non-fork guard, still under max-lines=600); qualityflow.yml falls back to pull_request.html_url for GITHUB_ISSUE_URL since a label payload has no issue.

Verified: fullsend dispatch --input-driver json --output-driver json --config-dir . against a ready-tests-labeled PR event matches qualityflow-ready-tests (role coder); pr-opened and a ready-other label → null. YAML parses; route script bash -n.

Depends on the label existing (label workflow) — until then only the manual /fs-plan-tests path is exercised. Per-org placement is knowingly temporary (ADR 0044).

Register harness/qualityflow-ready-tests.yaml, a base: child of the pinned
QualityFlow harness with its own CEL trigger: label_changed/added
'ready-tests' on a non-fork PR. The existing /fs-plan-tests comment trigger
on the base harness is unchanged. Verified with
'fullsend dispatch --input-driver json' against a labeled-PR fixture.

Signed-off-by: guy oron <goron@redhat.com>
This org is still in per-org mode, so dispatch.yml's bash routing decides
stages, not harness CEL. Mirror the new harness trigger: pull_request_target
labeled 'ready-tests' on a non-fork PR -> qualityflow stage. qualityflow.yml
falls back to pull_request.html_url for GITHUB_ISSUE_URL since the label
payload has no issue object. Both go away when the org leaves per-org mode.

Signed-off-by: guy oron <goron@redhat.com>
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