@@ -2,69 +2,67 @@ name: Build Unity WebGL & Deploy
22
33on :
44 push :
5- branches :
6- - main
5+ branches : [master]
76 workflow_dispatch :
87
98permissions :
10- contents : read # Permission pour le checkout (lecture)
11- pages : write # Permission pour le déploiement sur GitHub Pages (écriture)
12- id-token : write # Nécessaire pour l'authentification OIDC de l'action de déploiement
13-
14- env :
15- UNITY_LICENSE : ${{ secrets.UNITY_LICENSE }}
16- UNITY_EMAIL : ${{ secrets.UNITY_EMAIL }}
17- UNITY_PASSWORD : ${{ secrets.UNITY_PASSWORD }}
9+ contents : read
10+ pages : write
11+ id-token : write
1812
1913jobs :
2014 build :
2115 name : Build WebGL
2216 runs-on : ubuntu-latest
2317 steps :
24- - name : Checkout du code
18+ - name : Checkout repository
2519 uses : actions/checkout@v4
2620 with :
27- lfs : true
21+ lfs : true # Gardé car essentiel pour Unity
22+
23+ # Libération d'espace ultra-rapide (env. 20s au lieu de 3min)
24+ - name : Free disk space
25+ run : |
26+ sudo rm -rf /usr/share/dotnet
27+ sudo rm -rf /usr/local/lib/android
28+ sudo rm -rf /opt/ghc
29+ # On garde le strict nécessaire pour le runner
2830
29- - name : Mise en cache de la librairie Unity
30- uses : actions/cache@v3
31+ # Cache sans Hash (Stratégie incrémentale)
32+ - name : Cache Unity Library
33+ uses : actions/cache@v4
3134 with :
3235 path : Library
33- key : Library-${{ hashFiles('Assets/**', 'Packages/**', 'ProjectSettings/**') }}
36+ # Clé fixe pour toujours essayer de réutiliser la Library précédente
37+ key : Library-WebGL-v1
3438 restore-keys : |
39+ Library-WebGL-
3540 Library-
3641
37- - name : Libération d'espace disque
38- uses : jlumbroso/free-disk-space@main
39- with :
40- tool-cache : false
41- android : true
42- dotnet : true
43- haskell : true
44- large-packages : true
45- docker-images : true
46- swap-storage : true
47-
4842 - name : Build Unity WebGL
4943 uses : game-ci/unity-builder@v4
44+ env :
45+ UNITY_LICENSE : ${{ secrets.UNITY_LICENSE }}
46+ UNITY_EMAIL : ${{ secrets.UNITY_EMAIL }}
47+ UNITY_PASSWORD : ${{ secrets.UNITY_PASSWORD }}
5048 with :
5149 targetPlatform : WebGL
52- buildName : WebGL
50+ # On active le cache interne de l'action builder
51+ cacheMode : ' library'
52+ # Indispensable si tu modifies des fichiers pendant le build (comme des assets générés)
53+ allowDirtyBuild : true
5354
5455 - name : Upload du Build vers Pages
5556 uses : actions/upload-pages-artifact@v3
5657 with :
57- name : github-pages
58- path : build/WebGL/WebGL
59-
58+ # On cible le dossier par défaut de unity-builder
59+ path : build/WebGL
60+
6061 deploy :
6162 name : Deploy to GitHub Pages
62- environment :
63- name : github-pages
64- url : ${{ steps.deployment.outputs.page_url }}
65- runs-on : ubuntu-latest
6663 needs : build
64+ runs-on : ubuntu-latest
6765 steps :
68- - name : Déploiement natif sur GitHub Pages
66+ - name : Deploy
6967 id : deployment
70- uses : actions/deploy-pages@v4
68+ uses : actions/deploy-pages@v4
0 commit comments