Reduce CI build time (for md/txt/log)

Handle md/txt/log by appveyor in a special way.

Close #12592
pull/12593/head
ArkadiuszMichalski 2 years ago committed by Don Ho
parent 210efa503f
commit adf2ad0f4f

@ -35,10 +35,17 @@ before_build:
Write-Output "Configuration : $env:configuration"
Write-Output ""
# XML validation mode
if ($env:APPVEYOR_PULL_REQUEST_NUMBER) {
$allowMaster = $true
if ($allowMaster -or $env:APPVEYOR_PULL_REQUEST_NUMBER) {
$files_nowork = "md|txt|log"
$files_modified = @(git diff --name-only HEAD~1)
$files_notmached = @($files_modified | Where-Object {$_ -notmatch "\.xml$"})
if (($files_modified.length -gt 0 -and $files_notmached.length -eq 0) -or $env:APPVEYOR_REPO_COMMIT_MESSAGE -match "\[force xml\]") {
$files_notmached = @($files_modified | Where-Object {$_ -notmatch "\.(xml|$files_nowork)$"})
if (($files_modified.length -gt 0 -and $files_notmached.length -eq 0) -or $env:APPVEYOR_REPO_COMMIT_MESSAGE -match "\[force (xml|nowork)\]") {
if (@($files_modified | Where-Object {$_ -notmatch "\.($files_nowork)$"}).length -eq 0 -or $env:APPVEYOR_REPO_COMMIT_MESSAGE -match "\[force nowork\]") {
Write-Output "Changed files on this commit don't require any additional tasks.`n"
Exit-AppVeyorBuild
}
else {
Write-Output "XML validation mode`n"
if ("$env:platform/$env:configuration" -eq "Win32/Debug") {
if (@($files_modified | Where-Object {$_ -match "/functionList/"}).length -eq 0) {
@ -60,8 +67,9 @@ before_build:
Exit-AppVeyorBuild
}
}
}
elseif ($env:APPVEYOR_REPO_COMMIT_MESSAGE -match "\[xml\]" -and $env:APPVEYOR_REPO_COMMIT_MESSAGE -notmatch "\[force compile\]") {
throw "Changed files on this pull request require full build."
throw "Changed files on this commit require full build."
}
}

Loading…
Cancel
Save