GSL/asm/scripts/deploy-asm.ps1

61 lines
1.7 KiB
PowerShell
Raw Normal View History

2019-02-15 20:51:48 -05:00
# Include the API access functions
. $PSScriptRoot\API-Functions.ps1
2019-02-14 13:56:46 -05:00
function collectAsm {
# Create branch to merge asm into
# $asmFinalBranch = asm/$env:APPVEYOR_REPO_COMMIT/final
# git pull
# git checkout $env:APPVEYOR_REPO_BRANCH
# git checkout -b $asmFinalBranch
#collect all branches to merge
$asmBranches = @()
2019-02-15 14:36:40 -05:00
(Get-AppVeyorBuild).build.jobs | Foreach-Object {
$branchName = "asm/$($env:APPVEYOR_REPO_COMMIT)/appveyor-$($_.jobId)"
#Check that all branches exist
git ls-remote --heads --exit-code https://github.com/dadonenf/GSL.git $branchName
if(-not $?){
throw "Missing branch for job $($_.jobId)"
}
git checkout $branchName 2>&1
#Add branch to the branch list
# $branchName = "origin/"+$branchName
2019-02-15 14:36:40 -05:00
$asmBranches += $branchName
}
2019-02-14 13:56:46 -05:00
#TODO: collect asm from travis
# $travisBuild = Get-TravisBuild
# $travisJobs = @()
# $travisBuild.jobs | Foreach-Object { $travisJobs += $_.id }
#Merge all branches into master
$branchString = $asmBranches -join ' '
git checkout master 2>&1
2019-02-14 18:35:22 -05:00
git pull
git fetch --all
git branch -a
2019-02-15 14:36:40 -05:00
Write-Host "git merge --squash $($branchString)"
2019-02-14 13:56:46 -05:00
git merge --squash $branchString
if(-not $?){
throw "Failed merge"
}
2019-02-14 13:56:46 -05:00
git diff-index --cached --quiet --exit-code HEAD
if(-not $?) {
git commit -m "[skip ci] Update ASM for $($env:APPVEYOR_REPO_COMMIT)"
git push
}
}
2019-02-14 17:46:00 -05:00
Write-Host "Starting asm deployment"
2019-02-14 13:56:46 -05:00
# Wait for all jobs
if(appveyorFinished) {
2019-02-14 17:46:00 -05:00
Write-Host "Appveyor Finished, collecting ASM"
2019-02-14 13:56:46 -05:00
# Collect ASM (currently from Appveyor only)
collectAsm
}