31 lines
		
	
	
		
			926 B
		
	
	
	
		
			PowerShell
		
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			926 B
		
	
	
	
		
			PowerShell
		
	
	
	
| 
								 | 
							
								. .\scripts\appveyor\appveyor_get_build.ps1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Only deploy when commit message contains "[deploy]"
							 | 
						||
| 
								 | 
							
								if (!(Get-AppVeyorBuild).build.message.Contains('[deploy]')) { return }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Deploy once on last job
							 | 
						||
| 
								 | 
							
								if ($env:APPVEYOR_JOB_NUMBER -ne $env:job_to_deploy) { return }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Wait for other jobs complete
							 | 
						||
| 
								 | 
							
								Write-Host "Waiting for other jobs to complete"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[datetime]$stop = ([datetime]::Now).AddMinutes($env:time_out_mins)
							 | 
						||
| 
								 | 
							
								[bool]$success = $false
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								while(!$success -and ([datetime]::Now) -lt $stop) {
							 | 
						||
| 
								 | 
							
								    $success = $true
							 | 
						||
| 
								 | 
							
								    (Get-AppVeyorBuild).build.jobs | foreach-object {
							 | 
						||
| 
								 | 
							
								        if (($_.jobId -ne $env:APPVEYOR_JOB_ID) -and ($_.status -ne "success")) {
							 | 
						||
| 
								 | 
							
								            $success = $false
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        Write-Host "Job `"$($_.jobId)`" $($_.status)";
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (!$success) { Start-sleep 5 }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (!$success) {
							 | 
						||
| 
								 | 
							
								    throw "Test jobs were not finished in $env:time_out_mins minutes"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Set flag to deploy
							 | 
						||
| 
								 | 
							
								$env:flag_to_deploy = $success
							 |