@@ -2,39 +2,72 @@ name: Unity Build
22
33on :
44 push :
5- branches : [ main ]
5+ branches : [main]
66 pull_request :
7- branches : [ main ]
7+ branches : [main]
8+ workflow_dispatch :
89
910jobs :
11+ check-license :
12+ name : Check Unity license secrets
13+ runs-on : ubuntu-latest
14+ outputs :
15+ available : ${{ steps.check.outputs.available }}
16+ steps :
17+ - name : Detect license secrets
18+ id : check
19+ env :
20+ UNITY_LICENSE : ${{ secrets.UNITY_LICENSE }}
21+ UNITY_EMAIL : ${{ secrets.UNITY_EMAIL }}
22+ UNITY_PASSWORD : ${{ secrets.UNITY_PASSWORD }}
23+ run : |
24+ if [ -n "$UNITY_LICENSE" ] && [ -n "$UNITY_EMAIL" ] && [ -n "$UNITY_PASSWORD" ]; then
25+ echo "available=true" >> "$GITHUB_OUTPUT"
26+ else
27+ echo "available=false" >> "$GITHUB_OUTPUT"
28+ echo "Unity license secrets are not configured; skipping builds."
29+ fi
30+
1031 build :
11- name : Build Unity Project
32+ name : Build ${{ matrix.project }}
33+ needs : check-license
34+ if : needs.check-license.outputs.available == 'true'
1235 runs-on : ubuntu-latest
36+ strategy :
37+ fail-fast : false
38+ matrix :
39+ project :
40+ - unity-quick-start
41+ - unity-auth0-example
42+ - unity-aggregate-verifier-example
1343 steps :
1444 - name : Checkout repository
15- uses : actions/checkout@v3
45+ uses : actions/checkout@v4
1646 with :
1747 lfs : true
18-
48+
1949 - name : Cache Library folder
20- uses : actions/cache@v3
50+ uses : actions/cache@v4
2151 with :
22- path : Library
23- key : Library-${{ hashFiles(' Assets/**', ' Packages/**', ' ProjectSettings/**') }}
52+ path : ${{ matrix.project }}/ Library
53+ key : Library-${{ matrix.project }}-${{ hashFiles(format('{0}/ Assets/**', matrix.project), format('{0}/ Packages/**', matrix.project), format('{0}/ ProjectSettings/**', matrix.project) ) }}
2454 restore-keys : |
55+ Library-${{ matrix.project }}-
2556 Library-
2657
2758 - name : Build project
28- uses : game-ci/unity-builder@v3
59+ uses : game-ci/unity-builder@v4
2960 env :
3061 UNITY_LICENSE : ${{ secrets.UNITY_LICENSE }}
3162 UNITY_EMAIL : ${{ secrets.UNITY_EMAIL }}
3263 UNITY_PASSWORD : ${{ secrets.UNITY_PASSWORD }}
3364 with :
65+ projectPath : ${{ matrix.project }}
66+ unityVersion : 6000.3.22f1
3467 targetPlatform : StandaloneWindows64
35-
68+
3669 - name : Upload build artifacts
37- uses : actions/upload-artifact@v3
70+ uses : actions/upload-artifact@v4
3871 with :
39- name : Build-StandaloneWindows64
40- path : build/StandaloneWindows64
72+ name : Build-${{ matrix.project }}- StandaloneWindows64
73+ path : build/StandaloneWindows64
0 commit comments