@@ -237,37 +237,63 @@ jobs:
237237              Write-Output "✅ Tests directory exists" 
238238            } 
239239          } 
240-        - name : First build (resolves packages) 
240+        - name : Import packages and prepare project 
241241        run : | 
242-           Write-Output "Running first build to trigger package resolution..." 
243-           Write-Output "Unity command: C:\Program Files\Unity\Hub\Editor\6000.0.58f2\Editor\Unity.exe" 
244-           Write-Output "Project path: ${{ github.workspace }}\sample-unity6" 
245-           Write-Output "Build method: WindowsBuilderUnity6.BuildForAltTester" 
246-           Write-Output "Build path: ${{ github.workspace }}\sample-unity6\Tests\Sample Unity 6 Windows.exe" 
242+           Write-Output "Opening Unity to import packages (without building)..." 
243+           Write-Output "This step just lets Unity import all packages without trying to execute a build." 
247244          Write-Output "" 
248245           
249-           & "C:\Program Files\Unity\Hub\Editor\6000.0.58f2\Editor\Unity.exe" -projectPath "${{ github.workspace }}\sample-unity6" -executeMethod "WindowsBuilderUnity6.BuildForAltTester" -logFile "${{ github.workspace }}\sample-unity6\first-build-log.txt" -quit -batchmode -nographics --buildPath "${{ github.workspace }}\sample-unity6\Tests\Sample Unity 6 Windows.exe" 
250-           $buildExitCode = $LASTEXITCODE 
246+           # Start Unity without -quit so it stays open, but with a timeout 
247+           $unityProcess = Start-Process -FilePath "C:\Program Files\Unity\Hub\Editor\6000.0.58f2\Editor\Unity.exe" ` 
248+             -ArgumentList "-projectPath", "${{ github.workspace }}\sample-unity6", ` 
249+                           "-logFile", "${{ github.workspace }}\sample-unity6\import-log.txt", ` 
250+                           "-batchmode", "-nographics" ` 
251+             -PassThru -NoNewWindow 
251252           
252-           Write-Output "" 
253-           Write-Output "First build completed with exit code: $buildExitCode" 
254-           Write-Output "Checking for AltTester..." 
255-           if (Test-Path "${{ github.workspace }}\sample-unity6\Library\PackageCache\*alttester*") { 
256-             Write-Output "✅ AltTester found in PackageCache after first build" 
253+           Write-Output "Unity process started (PID: $($unityProcess.Id))" 
254+           Write-Output "Waiting for package import to complete..." 
255+           Write-Output "Will check for completion every 10 seconds (max 5 minutes)" 
256+            
257+           $maxWaitSeconds = 300 
258+           $checkInterval = 10 
259+           $elapsed = 0 
260+           $packagesImported = $false 
261+            
262+           while ($elapsed -lt $maxWaitSeconds) { 
263+             Start-Sleep -Seconds $checkInterval 
264+             $elapsed += $checkInterval 
265+              
266+             # Check if AltTester package has been imported 
267+             if (Test-Path "${{ github.workspace }}\sample-unity6\Library\PackageCache\*alttester*") { 
268+               Write-Output "✅ AltTester package found! Packages have been imported." 
269+               $packagesImported = $true 
270+               break 
271+             } 
272+              
273+             Write-Output "Still importing... ($elapsed seconds elapsed)" 
274+           } 
275+            
276+           # Kill Unity process 
277+           Write-Output "Stopping Unity process..." 
278+           Stop-Process -Id $unityProcess.Id -Force -ErrorAction SilentlyContinue 
279+           Start-Sleep -Seconds 2 
280+            
281+           if ($packagesImported) { 
282+             Write-Output "✅ Package import completed successfully" 
257283          } else { 
258-             Write-Output "⚠️ AltTester not found yet , but will be ready for second build " 
284+             Write-Output "⚠️ Timeout waiting for packages , but continuing anyway " 
259285          } 
260286           
261287          Write-Output "" 
262-           Write-Output "First build  log (last 50 lines):" 
263-           if (Test-Path "${{ github.workspace }}\sample-unity6\first-build -log.txt") { 
264-             Get-Content "${{ github.workspace }}\sample-unity6\first-build -log.txt" -Tail 50 
288+           Write-Output "Import  log (last 50 lines):" 
289+           if (Test-Path "${{ github.workspace }}\sample-unity6\import -log.txt") { 
290+             Get-Content "${{ github.workspace }}\sample-unity6\import -log.txt" -Tail 50 
265291          } else { 
266292            Write-Output "⚠️ Log file not found" 
267293          } 
268-        - name : Build Unity 6 Windows with command line (second build with packages ready)  
294+        - name : Build Unity 6 Windows executable  
269295        run : | 
270-           Write-Output "Building Unity 6 Windows using command line (second attempt )..." 
296+           Write-Output "Building Unity 6 Windows executable (packages should be ready now )..." 
271297          Write-Output "Starting Unity build..." 
272298          & "C:\Program Files\Unity\Hub\Editor\6000.0.58f2\Editor\Unity.exe" -projectPath "${{ github.workspace }}\sample-unity6" -executeMethod "WindowsBuilderUnity6.BuildForAltTester" -logFile "${{ github.workspace }}\sample-unity6\build-log.log" -quit -batchmode -nographics --buildPath "${{ github.workspace }}\sample-unity6\Tests\Sample Unity 6 Windows.exe" 
273299          $buildExitCode = $LASTEXITCODE 
@@ -375,12 +401,12 @@ jobs:
375401          BROWSERSTACK_ACCESS_KEY : ${{ secrets.BROWSERSTACK_ACCESS_KEY }} 
376402        working-directory : sample-unity6/Tests 
377403        run : python -m pytest -xs test/test_windows.py::WindowsTest 
378-       - name : Upload first build  log 
404+       - name : Upload import  log 
379405        if : always() 
380406        uses : actions/upload-artifact@v4 
381407        with :
382-           name : Unity6-Windows-First-Build -Log 
383-           path : sample-unity6/first-build -log.txt 
408+           name : Unity6-Windows-Import -Log 
409+           path : sample-unity6/import -log.txt 
384410      - name : Upload build log 
385411        if : always() 
386412        uses : actions/upload-artifact@v4 
0 commit comments