diff --git a/CI/appveyor.yml b/CI/appveyor.yml index 2bb7fb136..5125c759b 100644 --- a/CI/appveyor.yml +++ b/CI/appveyor.yml @@ -66,6 +66,29 @@ for: VCMI_GENERATOR: Visual Studio 15 2017 Win64 VCMI_BUILD_PLATFORM: x64 VCMI_BUILD_CONFIGURATION: Debug + +# Special configuration for coverity_scan branch +- + branches: + only: + - coverity_scan + environment: + matrix: + - NAME: Coverity - MSVS 2015 x86 - Release + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + VCMI_GENERATOR: Visual Studio 14 2015 + VCMI_BUILD_PLATFORM: x86 + VCMI_BUILD_CONFIGURATION: Release + environment: + coverity_token: + secure: XNnpYevnZxGmXW1zLu+3js2S+pqfWPQmL26hVgOTBTI= + coverity_email: + secure: JDd5yXvYaq/yJEVjoadEhA== + build_script: + - cmd: c:\projects\vcmi\source\CI\msvc\coverity_build_script.bat + after_test: + - ps: c:\projects\vcmi\source\CI\msvc\coverity_upload_script.ps + # Default configuration for all other branches - environment: diff --git a/CI/msvc/coverity_build_script.bat b/CI/msvc/coverity_build_script.bat new file mode 100644 index 000000000..9fe2cbf2a --- /dev/null +++ b/CI/msvc/coverity_build_script.bat @@ -0,0 +1,5 @@ +cd %APPVEYOR_BUILD_FOLDER% +cd build_%VCMI_BUILD_PLATFORM% + +echo Building with coverity... +cov-build.exe --dir cov-int cmake --build . --config %VCMI_BUILD_CONFIGURATION% -- /maxcpucount:2 diff --git a/CI/msvc/coverity_upload_script.ps b/CI/msvc/coverity_upload_script.ps new file mode 100644 index 000000000..e830ae970 --- /dev/null +++ b/CI/msvc/coverity_upload_script.ps @@ -0,0 +1,17 @@ +7z a "$Env:APPVEYOR_BUILD_FOLDER\$Env:APPVEYOR_PROJECT_NAME.zip" "$Env:APPVEYOR_BUILD_FOLDER\build_$Env:VCMI_BUILD_PLATFORM\cov-int\" + +# cf. http://stackoverflow.com/a/25045154/335418 +Remove-item alias:curl + +Write-Host "Uploading Coverity analysis result..." -ForegroundColor "Green" + +curl --silent --show-error ` + --output curl-out.txt ` + --form token="$Env:coverity_token" ` + --form email="$Env:coverity_email" ` + --form "file=@$Env:APPVEYOR_BUILD_FOLDER\$Env:APPVEYOR_PROJECT_NAME.zip" ` + --form version="$Env:APPVEYOR_REPO_COMMIT" ` + --form description="CI server scheduled build." ` + https://scan.coverity.com/builds?project=vcmi%2Fvcmi + +cat .\curl-out.txt