ソースを参照

AppVeyor: add scripts for Coverity Scan build submission

I thought we could use AppVeyor due to it's higher timeout of 1 hour, but it's stuck on lib compilation.
I'll still keep scripts in place so we can use them in future in case something changed
Arseniy Shestakov 8 年 前
コミット
7daaa604cc
3 ファイル変更45 行追加0 行削除
  1. 23 0
      CI/appveyor.yml
  2. 5 0
      CI/msvc/coverity_build_script.bat
  3. 17 0
      CI/msvc/coverity_upload_script.ps

+ 23 - 0
CI/appveyor.yml

@@ -66,6 +66,29 @@ for:
         VCMI_GENERATOR: Visual Studio 15 2017 Win64
         VCMI_GENERATOR: Visual Studio 15 2017 Win64
         VCMI_BUILD_PLATFORM: x64
         VCMI_BUILD_PLATFORM: x64
         VCMI_BUILD_CONFIGURATION: Debug
         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
 # Default configuration for all other branches
 -
 -
   environment:
   environment:

+ 5 - 0
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

+ 17 - 0
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