-
-
Notifications
You must be signed in to change notification settings - Fork 307
LTS Infrastructure -- Combined Integration #816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 49 commits
5268630
d856336
f4bc5d2
786ee37
8194790
d17b099
cfac5f1
7e9d0bf
17a0ea3
f445106
a0c79bd
8a41533
e4c156e
7f89530
cf3478c
26903e9
12f2871
7db70a7
4f07508
47670cf
ff56194
007852a
fe63d7b
1f3affe
f06f99b
cff7597
40dd436
120c3c5
4d7e871
b3bd405
9789eb5
3976b7c
e9c247f
79ae558
81ba9c3
b4ffa3e
02d4ec0
6c548cd
2ef2275
3e15471
7307bea
f77a135
67fd293
52a5bc4
18e20aa
f05cfe7
c08d13e
54a6c80
49c3bcf
6f751bf
cdb17b2
5f63107
936ca76
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,10 +8,14 @@ concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| permissions: | ||
| checks: write | ||
|
|
||
| jobs: | ||
| buildForAllPlatformsMacOS: | ||
| name: ${{ matrix.targetPlatform }} on ${{ matrix.unityVersion }} | ||
| runs-on: macos-latest | ||
| continue-on-error: true | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
|
|
@@ -82,6 +86,40 @@ jobs: | |
| ########################### | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: Build ${{ matrix.targetPlatform }} on MacOS (${{ matrix.unityVersion }})${{ matrix.buildProfile && ' With Build Profile' || '' }} | ||
| name: | ||
| Build ${{ matrix.targetPlatform }} on MacOS (${{ matrix.unityVersion }})${{ matrix.buildProfile && ' With | ||
| Build Profile' || '' }} | ||
| path: build | ||
| retention-days: 14 | ||
|
|
||
| markUnstableBuilds: | ||
| name: Mark unstable macOS builds | ||
| needs: buildForAllPlatformsMacOS | ||
| if: always() | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/github-script@v7 | ||
| with: | ||
| script: | | ||
| const { data: checkRuns } = await github.rest.checks.listForRef({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| ref: context.sha, | ||
| per_page: 100, | ||
| }); | ||
|
|
||
| for (const run of checkRuns.check_runs) { | ||
| if (run.conclusion !== 'failure' || run.app?.slug !== 'github-actions') continue; | ||
| if (!run.name.includes('StandaloneOSX') && !run.name.includes('iOS')) continue; | ||
|
|
||
| await github.rest.checks.update({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| check_run_id: run.id, | ||
| conclusion: 'neutral', | ||
| output: { | ||
| title: `${run.name} (unstable)`, | ||
| summary: 'This macOS build is unstable and its failure does not block merging.', | ||
| }, | ||
|
||
| }); | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
cat -n .github/workflows/build-tests-mac.yml | head -100Repository: game-ci/unity-builder
Length of output: 3751
🌐 Web query:
GitHub Actions matrix fail-fast continue-on-error per entry scoping documentation💡 Result:
jobs.<job_id>.strategy.fail-fastis matrix-wide: whentrue(default), if any matrix job fails, GitHub cancels the other in-progress or queued matrix jobs. This setting lives under the job’sstrategy. [1]jobs.<job_id>.continue-on-erroris per job run (per matrix entry): it’s a job-level key (sibling toruns-on,steps, etc.), and it can be an expression that referencesmatrix.*, so each matrix leg can decide whether its own failure should be tolerated. [2] [3]strategy.matrix.include, then read it fromjobs.<job_id>.continue-on-error. This is explicitly supported/documented and commonly shown as “experimental” legs. [2] [4]matrixcontext is available when evaluatingjobs.<job_id>.continue-on-error. [5]Example:
Docs to cite/quote in your own notes
continue-on-error: ${{ matrix.experimental }}+strategy.fail-fast). [2]jobs.<job_id>.strategy.fail-fastandjobs.<job_id>.continue-on-error. [1]matrixis allowed forjobs.<job_id>.continue-on-error. [5]References:
[1] GitHub Docs — Workflow syntax for GitHub Actions (docs.github.com)
[2] GitHub Docs — Run job variations (matrix) (“Handling failures” section) (docs.github.com)
[3] GitHub Blog changelog — expressions in job
continue-on-errorwithmatrix.*(github.blog)[4] GitHub Docs — matrix example using
matrix.experimentalto drivecontinue-on-error(docs.github.com)[5] GitHub Docs — Contexts reference (shows
jobs.<job_id>.continue-on-errorsupportsmatrix) (docs.github.com)Citations:
Scope
continue-on-errorto opt-in matrix rows, not the entire job.strategy.fail-fast: falsealready keeps the rest of the matrix running. Settingcontinue-on-error: trueat the job level makes every failing macOS/iOS build non-blocking, allowing the workflow to pass even when a platform build regresses. GitHub's matrix documentation recommends scopingcontinue-on-errorper matrix entry using an expression likematrix.allowFailureto keep diagnostic collection for experimental versions without weakening CI signal for stable ones.♻️ Suggested change
🤖 Prompt for AI Agents