Skip to content

Document orchestrator test filter injection#574

Merged
frostebite merged 3 commits into
mainfrom
docs/test-filter-injection
May 15, 2026
Merged

Document orchestrator test filter injection#574
frostebite merged 3 commits into
mainfrom
docs/test-filter-injection

Conversation

@frostebite
Copy link
Copy Markdown
Member

@frostebite frostebite commented May 14, 2026

Summary

  • document suite filter presets, injected filter overlays, and the new testFilter* inputs
  • clarify the split between Unity -testCategory and -testFilter
  • add GitHub Actions examples for inline and file-based filter injection

Verification

  • yarn build
  • yarn tsc --noEmit

Summary by CodeRabbit

  • Documentation
    • Updated API reference with new test workflow configuration parameters for suite paths, filtering, and result handling
    • Enhanced Test Workflow Engine docs with a new filtering system supporting reusable filter sets and references
    • Added documentation for filter injection capabilities enabling dynamic filtering during CI runs
    • Clarified examples and schemas for test suite and run definitions

Review Change Stack

@github-actions
Copy link
Copy Markdown

Cat Gif

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 14, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 80adc6c1-4ae9-4b95-99b1-7917328cf3aa

📥 Commits

Reviewing files that changed from the base of the PR and between c5c66a6 and 1286fd6.

📒 Files selected for processing (2)
  • docs/03-github-orchestrator/05-api-reference.mdx
  • docs/03-github-orchestrator/07-advanced-topics/11-test-workflow-engine.mdx
✅ Files skipped from review due to trivial changes (1)
  • docs/03-github-orchestrator/05-api-reference.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/03-github-orchestrator/07-advanced-topics/11-test-workflow-engine.mdx

📝 Walkthrough

Walkthrough

Adds documentation for a Test Workflow Engine: introduces API inputs for test suites and injected filters, expands the YAML suite/run schema with reusable filterSets and filterRefs, separates filter primitives into categories and names, and documents inline/file-based filter injection overlays and result output parameters.

Changes

Test Workflow Documentation

Layer / File(s) Summary
API parameters for test workflows
docs/03-github-orchestrator/05-api-reference.mdx
Adds Test Workflow inputs: testSuitePath, testFilterRefs, testFilterInjection, testFilterInjectionPath, testResultFormat, and testResultPath with descriptions and defaults to the API reference table.
YAML test suite and run schema
docs/03-github-orchestrator/07-advanced-topics/11-test-workflow-engine.mdx
Rewrites suite and run examples and tables to introduce filterSets, filterRefs, run-local filters, builtClientPath, and timeout; updates initial YAML examples and execution ordering (needs).
Filter model and syntax
docs/03-github-orchestrator/07-advanced-topics/11-test-workflow-engine.mdx
Clarifies filtering primitives: categories (compiled to Unity -testCategory) and names (compiled to Unity -testFilter); adds extended syntax examples and documents legacy shorthand normalization into categories.taxonomy.
Injected filter overlays and inputs
docs/03-github-orchestrator/07-advanced-topics/11-test-workflow-engine.mdx
Adds an "Injected Filters" section describing testFilterInjection (inline) and testFilterInjectionPath (file) overlays that apply refs, filters, and filterSets to runs; updates EditMode example and expands the Inputs Reference to include injection-related fields.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐇 I nibble at docs and stitch the threads,
Filter sets and refs now hop ahead,
Injected overlays in YAML delight,
Tests line up tidy, ready to flight,
A rabbit’s cheer for clearer CI light.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description provides a clear summary of changes and verification steps, but does not follow the repository's required template structure with 'Changes' section and checklist items. Reformat the description to match the template: add 'Changes' section with bullet points and complete the required checklist with checkboxes for contribution guide, README, and tests.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Document orchestrator test filter injection' directly and specifically describes the main change: adding documentation for test filter injection features in the orchestrator.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/test-filter-injection

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

docs/03-github-orchestrator/05-api-reference.mdx

Oops! Something went wrong! :(

ESLint: 10.3.0

ESLint couldn't find an eslint.config.(js|mjs|cjs) file.

From ESLint v9.0.0, the default configuration file is now eslint.config.js.
If you are using a .eslintrc.* file, please follow the migration guide
to update your configuration file to the new format:

https://eslint.org/docs/latest/use/configure/migration-guide

If you still have problems after following the migration guide, please stop by
https://eslint.org/chat/help to chat with the team.

docs/03-github-orchestrator/07-advanced-topics/11-test-workflow-engine.mdx

Oops! Something went wrong! :(

ESLint: 10.3.0

ESLint couldn't find an eslint.config.(js|mjs|cjs) file.

From ESLint v9.0.0, the default configuration file is now eslint.config.js.
If you are using a .eslintrc.* file, please follow the migration guide
to update your configuration file to the new format:

https://eslint.org/docs/latest/use/configure/migration-guide

If you still have problems after following the migration guide, please stop by
https://eslint.org/chat/help to chat with the team.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 14, 2026

Visit the preview URL for this PR (updated for commit 1286fd6):

https://game-ci-5559f--pr574-docs-test-filter-inj-jz20i1sc.web.app

(expires Fri, 22 May 2026 02:07:13 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 1f0574f15f83e11bfc148eae8646486a6d0e078b

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
docs/03-github-orchestrator/07-advanced-topics/11-test-workflow-engine.mdx (1)

232-267: ⚡ Quick win

Clarify filter merge precedence for injected overlays.

Please explicitly document the application order between suite-level refs, injected refs/filters, and run-local filterRefs/filters (for example on Line 232 and in the table around Line 262). Without this, users can’t reliably predict final filter behavior when all three are present.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/03-github-orchestrator/07-advanced-topics/11-test-workflow-engine.mdx`
around lines 232 - 267, Add an explicit statement that explains the
merge/precedence order for filters: when resolving the final filters, start from
the suite file's own refs and filters, then apply the injected overlay's refs,
filters and filterSets (overlaying/merging on top of suite values), and finally
apply run-local inputs (testFilterRefs and testFilterInjection) which take
highest precedence and override or extend earlier settings; also clarify how
named refs are expanded and how conflicting keys (refs, filters.names,
filters.categories, filterSets) are merged (injection merges/overwrites suite,
run-local merges/overwrites injection). Reference the YAML inputs shown
(testSuitePath, testFilterRefs, testFilterInjection, testFilterInjectionPath)
and terms used in the doc (refs, filters, filterSets) so readers can locate the
behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/03-github-orchestrator/07-advanced-topics/11-test-workflow-engine.mdx`:
- Around line 232-267: Add an explicit statement that explains the
merge/precedence order for filters: when resolving the final filters, start from
the suite file's own refs and filters, then apply the injected overlay's refs,
filters and filterSets (overlaying/merging on top of suite values), and finally
apply run-local inputs (testFilterRefs and testFilterInjection) which take
highest precedence and override or extend earlier settings; also clarify how
named refs are expanded and how conflicting keys (refs, filters.names,
filters.categories, filterSets) are merged (injection merges/overwrites suite,
run-local merges/overwrites injection). Reference the YAML inputs shown
(testSuitePath, testFilterRefs, testFilterInjection, testFilterInjectionPath)
and terms used in the doc (refs, filters, filterSets) so readers can locate the
behavior.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e90d4e65-1415-4e3e-90c4-9278535a8af5

📥 Commits

Reviewing files that changed from the base of the PR and between 8d2c3d4 and c5c66a6.

📒 Files selected for processing (2)
  • docs/03-github-orchestrator/05-api-reference.mdx
  • docs/03-github-orchestrator/07-advanced-topics/11-test-workflow-engine.mdx

@frostebite frostebite requested a review from webbertakken May 15, 2026 14:59
suites as YAML configurations - specifying exactly which tests run for each CI event, filtered by
taxonomy metadata, with sequential execution dependencies.
suites as YAML configurations: specifying exactly which tests run for each CI event, filtered by
Unity categories and test names, with sequential execution dependencies.
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.

Instead of Unity should we use Game Engines here and in other places?

@frostebite frostebite merged commit e4ed7e3 into main May 15, 2026
9 checks passed
@frostebite frostebite deleted the docs/test-filter-injection branch May 15, 2026 16:49
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.

2 participants