os: Visual Studio 2019 skip_commits: # Don't run AppVeyor for commits that only modify resource or non-code files files: - .gitignore - .gitattributes - .github/ - res/ - '**/*.cmd' - '**/*.md' - '**/*.rc' - '**/*.sh' - '**/*.txt' - '**/*.xml' environment: COVERITY_SCAN_EMAIL: "pete@akeo.ie" COVERITY_SCAN_TOKEN: secure: XZADvwlRFo57sBA54pBH2oVT/eR/OytZYY/sCKq61io= global: BITS: 32 matrix: - CONFIGURATION: Debug COMPILER: MSVC PLATFORM: x86 - CONFIGURATION: Debug COMPILER: MSVC PLATFORM: x64 - CONFIGURATION: Release COMPILER: MSVC PLATFORM: x86 - CONFIGURATION: Release COMPILER: MSVC PLATFORM: x64 - CONFIGURATION: Release COMPILER: MinGW PLATFORM: i686 - CONFIGURATION: Release COMPILER: MinGW PLATFORM: x86_64 - CONFIGURATION: Release COMPILER: Coverity PLATFORM: x86 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 { if (!"$env:COVERITY_SCAN_TOKEN") { Write-Output "Not running Coverity due to missing credential."; return; } cov-build.exe --dir cov-int msbuild rufus.sln /m /p:Configuration=$env:CONFIGURATION,Platform=$env:PLATFORM /l:$APPVEYOR_LOGGER; 7z a -r cov-int.zip cov-int $curlArguments = @( '--form email=%COVERITY_SCAN_EMAIL%', '--form token=%COVERITY_SCAN_TOKEN%', '--form file=cov-int.zip', '--form version="%APPVEYOR_BUILD_VERSION%"', '--form description="Rufus"', 'https://scan.coverity.com/builds?project=pbatard%2Frufus' ) $curlArgumentList = [System.Environment]::ExpandEnvironmentVariables($curlArguments) # MUST use 'curl.exe' since 'curl' is a PowerShell alias to Invoke-Webrequest curl.exe $curlArgumentList } }