rufus/appveyor.yml

91 lines
3.1 KiB
YAML

os: Visual Studio 2017
skip_commits:
# Don't run AppVeyor for commits that only modify resource or non-code files
files:
- .gitignore
- .gitattributes
- res/
- '**/*.cmd'
- '**/*.md'
- '**/*.rc'
- '**/*.sh'
- '**/*.txt'
- '**/*.xml'
environment:
COVERITY_SCAN_PROJECT_NAME: "pbatard/rufus"
COVERITY_SCAN_NOTIFICATION_EMAIL: "pete@akeo.ie"
COVERITY_SCAN_TOKEN:
secure: XZADvwlRFo57sBA54pBH2oVT/eR/OytZYY/sCKq61io=
global:
BITS: 32
matrix:
- CONFIGURATION: Debug
COMPILER: MSVC
PLATFORM: x86_32
- CONFIGURATION: Debug
COMPILER: MSVC
PLATFORM: x86_64
- CONFIGURATION: Release
COMPILER: MSVC
PLATFORM: x86_32
- CONFIGURATION: Release
COMPILER: MSVC
PLATFORM: x86_64
- CONFIGURATION: Release
COMPILER: MinGW
PLATFORM: i686
- CONFIGURATION: Release
COMPILER: MinGW
PLATFORM: x86_64
- CONFIGURATION: Release
COMPILER: Coverity
PLATFORM: x86_32
init:
# Set the AppVeyor build version number to our tag or, if untagged, to the commit hash
# See https://github.com/appveyor/ci/issues/691
# Also include the build number, to distinguish between rebuilds of the same commit
- ps: |
if ($env:APPVEYOR_REPO_TAG -eq "true") {
Update-AppveyorBuild -Version "$($env:APPVEYOR_REPO_TAG_NAME)_#$env:APPVEYOR_BUILD_NUMBER";
} else {
Update-AppveyorBuild -Version "dev-$($env:APPVEYOR_REPO_COMMIT.Substring(0,8))_#$env:APPVEYOR_BUILD_NUMBER";
}
build:
project: rufus.sln
parallel: true
verbosity: detailed
install:
- ps: |
if ($env:PLATFORM -eq "x86_64") {
$env:BITS = 64
}
build_script:
- ps: |
$APPVEYOR_LOGGER = "C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll";
switch ($env:COMPILER) {
MSVC {
msbuild rufus.sln /m /p:Configuration=$env:CONFIGURATION,Platform=$env:PLATFORM /l:$APPVEYOR_LOGGER;
}
MinGW {
C:\msys64\usr\bin\bash -lc "export PATH=/mingw$env:BITS/bin:`$PATH; cd /c/projects/rufus; mkdir -p m4; ./configure --build=$env:PLATFORM-w64-mingw32 --host=$env:PLATFORM-w64-mingw32 --disable-debug; make -j4";
}
Coverity {
$PUBLISHCOVERITY = "$env:APPVEYOR_BUILD_FOLDER\PublishCoverity\tools\PublishCoverity.exe";
if (!"$env:COVERITY_SCAN_TOKEN") {
Write-Output "Not running Coverity due to missing credential.";
return;
}
& nuget install PublishCoverity -o "$env:APPVEYOR_BUILD_FOLDER" -excludeversion;
& cov-build.exe --dir cov-int msbuild rufus.sln /m /p:Configuration=$env:CONFIGURATION,Platform=$env:PLATFORM /l:$APPVEYOR_LOGGER;
& $PUBLISHCOVERITY compress --nologo -i "$env:APPVEYOR_BUILD_FOLDER\cov-int" -o "$env:APPVEYOR_BUILD_FOLDER\coverity.zip" --overwrite;
& $PUBLISHCOVERITY publish --nologo -t $env:COVERITY_SCAN_TOKEN -e $env:COVERITY_SCAN_NOTIFICATION_EMAIL -r $env:COVERITY_SCAN_PROJECT_NAME -z "$env:APPVEYOR_BUILD_FOLDER\coverity.zip" -d "Appveyor build." --codeVersion $env:APPVEYOR_BUILD_VERSION;
Get-ChildItem -Path ./ -Recurse | Remove-Item -Force -Recurse;
}
}