Skip to content

CI: pilot Win32 Storybook physical input without changing accessibility coverage - #4431

Open
srividyaramas wants to merge 1 commit into
mainfrom
user/sriramas/win32-storybook-input-pilot
Open

srividyaramas wants to merge 1 commit into
mainfrom
user/sriramas/win32-storybook-input-pilot

Conversation

@srividyaramas

Copy link
Copy Markdown
Contributor

Summary

Try a small physical-input cohort on the existing GitHub-hosted Win32/Paper Storybook runner, without removing the current accessibility-mode coverage.

  • Keep the existing complete Storybook smoke pass with keyboard,physicalClick,wheel disabled.
  • Add a separate, serial Test Win32 Storybook physical input pilot step in Win32 Storybook PR, clearing the capability mask only for that step.
  • Use the existing smoke lifecycle and story/name glob selection. Add an app-owned STORYBOOK_SMOKE_TEST configuration entry so this pass selects exactly two existing callbacks:
    • Checkbox Default: toggle native checked state in both directions using clicks.
    • Button FocusManagement: pointer focus policy and exactly-once Enter/Space activation.
  • Require a fresh successful canonical report containing a passing result for each callback. A skip, unsupported result, missing test, stale report, or failed smoke is not a successful input pilot.
  • Keep both passes' reports in the existing always-uploaded Storybook_win32_paper_<run>_<attempt> artifact.

This PR does not change component behavior, native input implementation, runner provisioning, or macOS/Fabric policy. It does not enable all input-gated tests or remove the separate Button quarantine for #4373.

Why a separate pass?

The current mask was introduced in #4306 because hosted input was not considered authoritative. Legacy Win32 tests now use the same Desktop Driver with physical input enabled, so a focused experiment is warranted rather than assuming input cannot work.

Simply removing the mask from the existing full Storybook pass would also change automatic clicks from accessibility actions to physical input, invalidating tests that intentionally check accessibility activation. Keep those tests unchanged and qualify physical input separately.

The added pass runs as part of this PR's normal pull_request CI, before merge. A failed or skipped required callback is useful negative evidence; this change does not assume that hosted input is reliable.

Validation

  • Passed: repository formatter on all three changed files; git diff --check.
  • Passed: static Storybook discovery confirms the new filter selects exactly the two intended callbacks.
  • Passed: YAML workflow invariants and PowerShell parsing; exercised the actual inline gate against 14 report fixtures, including skip, unsupported, failed, incomplete, duplicate, stale/missing, malformed, and success cases.
  • No local foreground input was injected. Native execution is intentionally left to this PR's hosted Win32 job.
  • Local aggregate blocked: attempted the required yarn clean-lage-cache and yarn lage buildci, but neither could start because the installed pnpm map lacks current-main dependencies. Two yarn install --immutable attempts (including a bounded-concurrency retry) failed with TLS handshake errors. The formatter and static discovery were run using the already-installed declared binaries to bypass the incomplete Yarn map. This is not a local aggregate pass.

Preserve the masked accessibility smoke run, select Checkbox click and Button keyboard/focus callbacks in a serial unmasked pass, and reject skipped or missing required results.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4b66f3ef-85ac-4405-bd35-dcc167a077b1
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Bundle size report

Tree-shaken, minified production esbuild bundles with React and React Native runtimes externalized.

Scenario Modules-Mac (Δ) Modules-Win (Δ) Size-Mac (Δ) Size-Win (Δ)
components-button 65 (+1) 66 (+1) 51.57k (+944b) 51.50k (+944b)
components-catalog 214 (+0) 215 (+0) 206.83k (+1.35k) 206.76k (+1.35k)
design-theme-state 34 (+0) 35 (+0) 30.15k (+0b) 30.08k (+0b)
design-themed-root 38 (+0) 39 (+0) 32.12k (+0b) 32.04k (+0b)
design-color-lib 6 (+0) 6 (+0) 6.33k (+0b) 6.33k (+0b)
design-theme-state-legacy-source 35 (+0) 36 (+0) 31.81k (+0b) 31.73k (+0b)
design-legacy-theme-from-flex 58 (+0) 59 (+0) 97.77k (+0b) 97.63k (+0b)

The job is advisory: size changes are reported but do not fail the pull request. Bundle or analysis errors still fail.


View bundle-size workflow run

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