Skip to content

Run Compute in the UI test workflow#929

Open
Kyle-Ye wants to merge 3 commits into
mainfrom
optimize/compute_ci
Open

Run Compute in the UI test workflow#929
Kyle-Ye wants to merge 3 commits into
mainfrom
optimize/compute_ci

Conversation

@Kyle-Ye

@Kyle-Ye Kyle-Ye commented Jul 5, 2026

Copy link
Copy Markdown
Member

Summary

  • Route the shared UI test action through Example/setup.sh so CI uses the same setup path as local runs.
  • Add a Compute option for UI tests and include the OpenSwiftUI renderer + Compute configuration in the default UI test matrix.
  • Keep workflow dispatch and /uitest flexible enough to request individual or all renderer/backend configurations.
  • Add UI test access to the active attribute graph vendor and temporarily exclude known Compute-specific unstable snapshot cases.

Why

This lets CI exercise the Compute setup path directly, so setup regressions like #927 are covered by UI tests instead of only being found locally.

Validation

  • macOS OSUI_UITests + Compute: passed
    • 136 total, 106 passed, 22 skipped, 8 expected failures, 0 failed
  • iOS Simulator 18.5 OSUI_UITests + Compute: passed
    • 136 total, 112 passed, 20 skipped, 4 expected failures, 0 failed

@github-actions github-actions Bot added area: tests Test suites, UI tests, fixtures, snapshots, and test support code. type: ci GitHub Actions, test infrastructure, runners, checks, or automation. type: tests Test coverage, test infrastructure, snapshots, or test-only changes. labels Jul 5, 2026
@Kyle-Ye Kyle-Ye force-pushed the optimize/compute_ci branch from 37b4610 to d1b3510 Compare July 5, 2026 17:30
@Kyle-Ye Kyle-Ye changed the title Refine UI test Compute coverage Run Compute in the UI test workflow Jul 5, 2026
@github-actions github-actions Bot added the area: docs Documentation area label. label Jul 5, 2026
@Kyle-Ye

Kyle-Ye commented Jul 5, 2026

Copy link
Copy Markdown
Member Author

/uitest all all-configs

@Kyle-Ye Kyle-Ye marked this pull request as ready for review July 5, 2026 18:09
@augmentcode

augmentcode Bot commented Jul 5, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR extends the UI test workflow to run OpenSwiftUI with the Compute backend and routes CI setup through the same Example/setup.sh entry point used locally.

Changes:

  • Add a compute input to the shared UI test composite action and generate the Example project via setup.sh (with --compute when requested).
  • Rework uitests.yml to support a configuration-based matrix (SwiftUI/OpenSwiftUI renderer × AttributeGraph/Compute) for push, workflow_dispatch, and /uitest issue comments.
  • Update commit status contexts to include the configuration id (e.g. UI Tests / iOS / openswiftui-renderer-iag).
  • Expose the active attribute-graph backend to UI tests (via OpenAttributeGraphShims) and gate known unstable snapshot suites/cases under Compute.
  • Add documentation for running/dispatching UI test CI and the supported /uitest command arguments/aliases.
  • Pin the Compute dependency in the Example project's Tuist Package.resolved.

Technical Notes: Compute configurations set OPENSWIFTUI_OPENATTRIBUTESHIMS_COMPUTE=1 and pass compute=true into the shared action so project generation uses the Compute mise environment.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

@MainActor
@Suite(.snapshots(record: .never, diffTool: diffTool))
struct AnimationCompletionUITests {
@Test

@augmentcode augmentcode Bot Jul 5, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@Test was removed from logicalAndRemovedComplete(), which means this test will no longer execute at all (not just be skipped). If the intent is to suppress a flaky/Compute-only failure, consider using an explicit .disabled/known-issue annotation so the omission is intentional and visible in results.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

mise exec -- tuist install
mise exec -- tuist generate --no-open
if [[ "${{ inputs.compute }}" == "true" ]]; then
./setup.sh --compute

@augmentcode augmentcode Bot Jul 5, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Now that CI generates the Example project via Example/setup.sh, changes to that script (and its associated mise*.toml env files) can affect UI test setup. Consider adding those paths to .github/workflows/uitests.yml on.push.paths so setup regressions will reliably trigger UI tests on main.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: docs Documentation area label. area: tests Test suites, UI tests, fixtures, snapshots, and test support code. type: ci GitHub Actions, test infrastructure, runners, checks, or automation. type: tests Test coverage, test infrastructure, snapshots, or test-only changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant