|
46 | 46 | - name: Setup .NET |
47 | 47 | uses: actions/setup-dotnet@v5 |
48 | 48 | env: |
49 | | - # Disable the .NET logo in the console output. |
50 | 49 | DOTNET_NOLOGO: true |
51 | | - # Disable the .NET first time experience to skip caching NuGet packages and speed up the build. |
52 | 50 | DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true |
53 | | - # Disable sending .NET CLI telemetry to Microsoft. |
54 | 51 | DOTNET_CLI_TELEMETRY_OPTOUT: true |
55 | | - DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet |
56 | 52 | with: |
57 | 53 | dotnet-version: 9.x |
58 | 54 |
|
@@ -115,6 +111,15 @@ jobs: |
115 | 111 | uses: actions/checkout@v5 |
116 | 112 | with: |
117 | 113 | fetch-depth: 0 |
| 114 | + |
| 115 | + - name: Cache Unity Library |
| 116 | + uses: actions/cache@v4 |
| 117 | + with: |
| 118 | + path: test/BitMono.Unity.TestProject/Library |
| 119 | + key: Library-BitMono-Unity-${{ matrix.unity-version }} |
| 120 | + restore-keys: | |
| 121 | + Library-BitMono-Unity- |
| 122 | + Library- |
118 | 123 | |
119 | 124 | - name: Setup .NET |
120 | 125 | uses: actions/setup-dotnet@v5 |
@@ -203,7 +208,8 @@ jobs: |
203 | 208 | fi |
204 | 209 |
|
205 | 210 | echo "Unity package created: $FILE" |
206 | | - size_mb=$(awk "BEGIN {printf \"%.2f\", $(stat -c%s \"$FILE\")/1024/1024}") |
| 211 | + size_bytes=$(stat -c%s -- "$FILE") |
| 212 | + size_mb=$(awk -v s="$size_bytes" 'BEGIN {printf "%.2f", s/1024/1024}') |
207 | 213 | echo "File size: ${size_mb} MB" |
208 | 214 | |
209 | 215 | - name: Rename .unitypackage to include build metadata (if present) |
@@ -262,21 +268,20 @@ jobs: |
262 | 268 | |
263 | 269 | - name: Create UPM Package (Modern Unity Package Manager) |
264 | 270 | run: | |
265 | | - # Create a proper UPM package structure |
266 | | - mkdir upm-package |
267 | | - mkdir upm-package\Editor |
268 | | - |
| 271 | + # Create a proper UPM package structure (POSIX for Ubuntu runners) |
| 272 | + mkdir -p upm-package/Editor |
| 273 | +
|
269 | 274 | # Copy files to UPM structure |
270 | | - copy "unity-package-temp\Editor\*.cs" "upm-package\Editor\" |
271 | | - copy "unity-package-temp\Editor\*.asmdef" "upm-package\Editor\" |
272 | | - copy "unity-package-temp\package.json" "upm-package\" |
273 | | - copy "unity-package-temp\BitMonoConfig.asset" "upm-package\" 2>nul || echo "No BitMonoConfig.asset found" |
274 | | - mkdir "upm-package\BitMono.CLI" 2>nul || echo "Directory already exists" |
275 | | - xcopy "unity-package-temp\BitMono.CLI\*" "upm-package\BitMono.CLI\" /E /I /Y |
276 | | - |
| 275 | + cp unity-package-temp/Editor/*.cs upm-package/Editor/ 2>/dev/null || true |
| 276 | + cp unity-package-temp/Editor/*.asmdef upm-package/Editor/ 2>/dev/null || echo "No .asmdef files found" |
| 277 | + cp unity-package-temp/package.json upm-package/ |
| 278 | + cp unity-package-temp/BitMonoConfig.asset upm-package/ 2>/dev/null || echo "No BitMonoConfig.asset found" |
| 279 | + mkdir -p upm-package/BitMono.CLI |
| 280 | + cp -R unity-package-temp/BitMono.CLI/* upm-package/BitMono.CLI/ 2>/dev/null || true |
| 281 | +
|
277 | 282 | # Create UPM tarball using tar (better compatibility than .zip) |
278 | 283 | cd upm-package |
279 | | - tar -czf ..\BitMono-Unity-UPM-v${{ needs.Build.outputs.version }}-Unity${{ matrix.unity-version }}.tgz * |
| 284 | + tar -czf ../BitMono-Unity-UPM-v${{ needs.Build.outputs.version }}-Unity${{ matrix.unity-version }}.tgz * |
280 | 285 | cd .. |
281 | 286 | |
282 | 287 | - name: Upload Unity Packages |
|
0 commit comments