From 561dadb67a13b046c681b597d4b91f7963d4f721 Mon Sep 17 00:00:00 2001 From: lukeIam Date: Fri, 9 Sep 2016 21:07:45 +0200 Subject: [PATCH] Windows/Appveyor CI build improvements -Fix: Nightly tag is moved even if the build fails (fixes #171) -Mod: Improved log messages -Add: Adjustments to allow forks to run appveyor.yml on their instances -Add: Custom names for custom builds --- appveyor.yml | 59 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 21 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 16ad3883..520b55f8 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -11,47 +11,62 @@ environment: GitHubKey: secure: JSlN/em0JdspVn8jwaQ4IjugY6OQi0au4Qq0rhctJmcfGMaEGnUAOmDFULI48REW install: -- ps: >- +- ps: | $Env:CurrentCommitSha = "$(git rev-parse --verify HEAD)" - $Env:githubRepoApiUri = "https://api.github.com/repos/Vocaluxe/Vocaluxe/" + if((-not $Env:githubRepoApiUri) -or ($Env:APPVEYOR_ACCOUNT_NAME -eq "VocaluxeBuildBot")){ + $Env:githubRepoApiUri = "https://api.github.com/repos/Vocaluxe/Vocaluxe/" + } + + Write-Host "GitHub api url: $Env:githubRepoApiUri" ./.appveyor/gitDescribe.ps1 - - $Env:GIT_VERSION_TAG = $Env:VersionTag + + $Env:GIT_VERSION_TAG = $Env:VersionTag + Write-Host "GIT_VERSION_TAG: $Env:GIT_VERSION_TAG" if($Env:APPVEYOR_REPO_TAG -eq "true"){ - - $Env:TAG_NAME_WITH_BRANCH_NAME_FALLBACK = $Env:APPVEYOR_REPO_TAG_NAME - + $Env:TAG_NAME_WITH_BRANCH_NAME_FALLBACK = $Env:APPVEYOR_REPO_TAG_NAME } - else{ - - $Env:TAG_NAME_WITH_BRANCH_NAME_FALLBACK = $Env:APPVEYOR_REPO_BRANCH - - } - - ./.appveyor/moveTagForSpecialBranches.ps1 + $Env:TAG_NAME_WITH_BRANCH_NAME_FALLBACK = $Env:APPVEYOR_REPO_BRANCH + } before_build: - ps: >- nuget restore -DisableParallelProcessing - #(Get-Content -Encoding UTF8 'PitchTracker\PitchTracker.vcxproj') | Foreach-Object {$_ -replace 'v110_xp', 'v120_xp'} | Set-Content -Encoding UTF8 'PitchTracker\PitchTracker.vcxproj' build: project: Vocaluxe.sln verbosity: normal after_build: -- ps: >- +- ps: | cd Output - 7z a "Vocaluxe_$($Env:TAG_NAME_WITH_BRANCH_NAME_FALLBACK)_Windows_$($Env:PLATFORM).zip" * + $Env:MAIN_REPO = $False - appveyor PushArtifact "Vocaluxe_$($Env:TAG_NAME_WITH_BRANCH_NAME_FALLBACK)_Windows_$($Env:PLATFORM).zip" -FileName "Vocaluxe_$($Env:TAG_NAME_WITH_BRANCH_NAME_FALLBACK)_Windows_$($Env:PLATFORM).zip" -DeploymentName ReleaseZip + if($Env:APPVEYOR_REPO_NAME -eq "Vocaluxe/Vocaluxe"){ + $Env:MAIN_REPO = $True + Write-Host "Main repo Vocaluxe/Vocaluxe detected" + } + + $forkBuildTag = "" + if(($Env:MAIN_REPO -ne $True) -or ($Env:APPVEYOR_ACCOUNT_NAME -ne "VocaluxeBuildBot")){ + $forkBuildTag = "_non-official-by-$Env:APPVEYOR_ACCOUNT_NAME" + Write-Host "Non official build detected: $Env:APPVEYOR_REPO_NAME by $Env:APPVEYOR_ACCOUNT_NAME" + } + + 7z a "Vocaluxe_$($Env:TAG_NAME_WITH_BRANCH_NAME_FALLBACK)_Windows_$($Env:PLATFORM)$forkBuildTag.zip" * + + appveyor PushArtifact "Vocaluxe_$($Env:TAG_NAME_WITH_BRANCH_NAME_FALLBACK)_Windows_$($Env:PLATFORM)$forkBuildTag.zip" -FileName "Vocaluxe_$($Env:TAG_NAME_WITH_BRANCH_NAME_FALLBACK)_Windows_$($Env:PLATFORM)$forkBuildTag.zip" -DeploymentName ReleaseZip cd .. - - .\.appveyor\nightlyDetect.ps1 + + Write-Host "Created artifact: Vocaluxe_$($Env:TAG_NAME_WITH_BRANCH_NAME_FALLBACK)_Windows_$($Env:PLATFORM)$forkBuildTag.zip" + + if($Env:MAIN_REPO -eq $True){ + .\.appveyor\nightlyDetect.ps1 + .\.appveyor\moveTagForSpecialBranches.ps1 + } test: off before_deploy: - ps: ./.appveyor/prepareDeploy.ps1 @@ -67,6 +82,7 @@ deploy: on: APPVEYOR_REPO_TAG: true NIGHTLY_BUILD: false + MAIN_REPO: true - provider: GitHub tag: $(APPVEYOR_REPO_TAG_NAME) release: Latest Nightly build @@ -76,4 +92,5 @@ deploy: artifact: ReleaseZip on: APPVEYOR_REPO_TAG: true - NIGHTLY_BUILD: true \ No newline at end of file + NIGHTLY_BUILD: true + MAIN_REPO: true \ No newline at end of file