Skip to content

Commit 0495c1b

Browse files
ci(audience): trim playmode PR to 8 cells, add weekly 12-cell run (SDK-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>
1 parent c539fbd commit 0495c1b

1 file changed

Lines changed: 24 additions & 68 deletions

File tree

.github/workflows/test-audience-sample-app.yml

Lines changed: 24 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -12,80 +12,48 @@ on:
1212
- 'examples/audience/Packages/**'
1313
- 'examples/audience/ProjectSettings/**'
1414
- '.github/workflows/test-audience-sample-app.yml'
15+
schedule:
16+
# Weekly full-matrix run on the default branch.
17+
# Cron is UTC; cron has no DST awareness, so the local time shifts by one
18+
# hour twice a year. Saturday 14:00 UTC maps to:
19+
# Sun 00:00 Sydney AEST / Sun 02:00 NZ NZST (winter, Apr to Oct)
20+
# Sun 01:00 Sydney AEDT / Sun 03:00 NZ NZDT (summer, Oct to Apr)
21+
- cron: '0 14 * * 6'
1522
workflow_dispatch:
1623

1724
concurrency:
1825
group: ${{ github.workflow }}-${{ github.ref }}
1926
cancel-in-progress: true
2027

2128
jobs:
29+
# Reduced matrix on pull_request, full matrix on schedule and
30+
# workflow_dispatch. The self-hosted Windows runner pool is small, so
31+
# trimming PR cells keeps PR feedback fast. `matrix.exclude` below is
32+
# the source of truth for which cells are dropped on pull_request.
2233
playmode:
23-
if: github.event.pull_request.head.repo.fork == false || github.event_name == 'workflow_dispatch'
34+
if: |
35+
(github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false)
36+
|| github.event_name == 'schedule'
37+
|| github.event_name == 'workflow_dispatch'
2438
name: ${{ matrix.target }} / ${{ matrix.backend }} / Unity ${{ matrix.unity }}
2539
strategy:
2640
fail-fast: false
2741
matrix:
42+
unity: ['2021.3.45f2', '6000.4.0f1', '2022.3.62f2']
43+
target: [StandaloneWindows64, StandaloneOSX]
44+
backend: [IL2CPP, Mono2x]
2845
include:
29-
- target: StandaloneWindows64
30-
backend: IL2CPP
31-
unity: 2021.3.45f2
32-
changeset: 88f88f591b2e
33-
runner: [self-hosted, Windows, X64]
34-
- target: StandaloneWindows64
35-
backend: Mono2x
36-
unity: 2021.3.45f2
46+
- unity: '2021.3.45f2'
3747
changeset: 88f88f591b2e
38-
runner: [self-hosted, Windows, X64]
39-
- target: StandaloneOSX
40-
backend: IL2CPP
41-
unity: 2021.3.45f2
42-
changeset: 88f88f591b2e
43-
runner: [self-hosted, macOS, ARM64]
44-
- target: StandaloneOSX
45-
backend: Mono2x
46-
unity: 2021.3.45f2
47-
changeset: 88f88f591b2e
48-
runner: [self-hosted, macOS, ARM64]
49-
- target: StandaloneWindows64
50-
backend: IL2CPP
51-
unity: 6000.4.0f1
52-
changeset: 8cf496087c8f
53-
runner: [self-hosted, Windows, X64]
54-
- target: StandaloneWindows64
55-
backend: Mono2x
56-
unity: 6000.4.0f1
57-
changeset: 8cf496087c8f
58-
runner: [self-hosted, Windows, X64]
59-
- target: StandaloneOSX
60-
backend: IL2CPP
61-
unity: 6000.4.0f1
48+
- unity: '6000.4.0f1'
6249
changeset: 8cf496087c8f
63-
runner: [self-hosted, macOS, ARM64]
64-
- target: StandaloneOSX
65-
backend: Mono2x
66-
unity: 6000.4.0f1
67-
changeset: 8cf496087c8f
68-
runner: [self-hosted, macOS, ARM64]
69-
- target: StandaloneWindows64
70-
backend: IL2CPP
71-
unity: 2022.3.62f2
50+
- unity: '2022.3.62f2'
7251
changeset: 7670c08855a9
73-
runner: [self-hosted, Windows, X64]
7452
- target: StandaloneWindows64
75-
backend: Mono2x
76-
unity: 2022.3.62f2
77-
changeset: 7670c08855a9
7853
runner: [self-hosted, Windows, X64]
7954
- target: StandaloneOSX
80-
backend: IL2CPP
81-
unity: 2022.3.62f2
82-
changeset: 7670c08855a9
83-
runner: [self-hosted, macOS, ARM64]
84-
- target: StandaloneOSX
85-
backend: Mono2x
86-
unity: 2022.3.62f2
87-
changeset: 7670c08855a9
8855
runner: [self-hosted, macOS, ARM64]
56+
exclude: ${{ fromJSON(github.event_name == 'pull_request' && '[{"unity":"2022.3.62f2"}]' || '[]') }}
8957
runs-on: ${{ matrix.runner }}
9058
# Healthy cells finish in ~10 min. 30 min covers cold caches +
9159
# IL2CPP + Unity 6 startup; anything past that is a hang. Capping
@@ -450,24 +418,12 @@ jobs:
450418
strategy:
451419
fail-fast: false
452420
matrix:
421+
target: [Android, iOS]
422+
unity: ['2021.3.45f2', '2022.3.62f2', '6000.4.5f1']
453423
include:
454424
- target: Android
455-
unity: 2021.3.45f2
456-
method: AndroidBuilder.Build
457-
- target: Android
458-
unity: 2022.3.62f2
459-
method: AndroidBuilder.Build
460-
- target: Android
461-
unity: 6000.4.5f1
462425
method: AndroidBuilder.Build
463426
- target: iOS
464-
unity: 2021.3.45f2
465-
method: IosBuilder.Build
466-
- target: iOS
467-
unity: 2022.3.62f2
468-
method: IosBuilder.Build
469-
- target: iOS
470-
unity: 6000.4.5f1
471427
method: IosBuilder.Build
472428

473429
steps:

0 commit comments

Comments
 (0)