ci(audience): trim playmode PR to 8 cells, add weekly 12-cell run (SDK-327)#746
Conversation
…K-327) - Trims playmode PR matrix from 12 to 8 cells. - Keeps Unity 2021.3.45f2 (LTS floor) and 6000.4.0f1 (current major) on every PR. - Drops Unity 2022.3.62f2 from PR runs. - Retains both backends (IL2CPP, Mono2x) and both targets (Windows, macOS) per Unity version. - Adds weekly schedule trigger (cron '0 14 * * 6') so the full 12-cell matrix runs on the default branch. Saturday 14:00 UTC maps to Sunday 00:00 Sydney AEST in winter, Sunday 01:00 AEDT in summer. - Keeps workflow_dispatch as the on-demand path for the full matrix. - Restructures playmode matrix from a flat 12-entry include list to cross-product axes (unity x target x backend), with include entries supplying changeset by unity and runner by target. - Sets matrix.exclude conditionally via fromJSON so only PR runs drop the 2022 cells. - One job, steps unchanged. - Collapses mobile-build matrix to the same cross-product shape (target x unity) with method added by target via include. Cell list and behaviour unchanged. - Single self-hosted Windows runner serializes 6 Windows cells per PR. - Cut is expected to drop PR runner-hold from ~120 min to ~80 min. - Unity 2022 LTS coverage on every PR remains via the mobile-build job (Android + iOS). Linear: https://linear.app/imtbl/issue/SDK-327 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8884fd5 to
69a42d3
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 69a42d3. Configure here.
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| target: [Android, iOS] |
There was a problem hiding this comment.
mobile-build if not updated for new schedule trigger
Low Severity
The playmode job's if was explicitly updated to handle the new schedule event, but the mobile-build job's if was not. On schedule events, github.event.pull_request.head.repo.fork is null, and GitHub Actions coerces null == false to true (both become 0), so mobile-build silently runs every week. If this is intended, the condition is fragile and inconsistent with the playmode guard; if unintended, it wastes six extra CI cells weekly.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 69a42d3. Configure here.


Summary
on: schedule(Sat 14:00 UTC = Sun 00:00 Sydney AEST in winter, Sun 01:00 AEDT in summer) so the full 12-cell matrix runs weekly on the default branch.workflow_dispatchcontinues to fire the full matrix on demand.matrix.excludeis set conditionally viafromJSON, so only PR runs drop the 2022 cells. Single job, no duplicated steps.Linear: SDK-327
Note
Medium Risk
Changes CI matrix logic and trigger conditions, which could unintentionally reduce test coverage on PRs or misconfigure scheduled runs if the matrix/exclude expressions are wrong.
Overview
Adds a weekly
scheduletrigger to run the full PlayMode test matrix on the default branch, while keepingworkflow_dispatchfor on-demand full runs.Restructures the PlayMode matrix into cross-product axes (
unity/target/backend) withincludeentries forchangesetand per-target runners, and conditionally excludes Unity2022.3.62f2onpull_requestto trim PR runs.Simplifies the
mobile-buildjob matrix to the same cross-product shape (target × unity) while preserving the same build methods and overall behavior.Reviewed by Cursor Bugbot for commit 69a42d3. Bugbot is set up for automated code reviews on this repo. Configure here.