diff options
Diffstat (limited to 'appveyor.yml')
-rw-r--r-- | appveyor.yml | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..28b1de0 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,99 @@ +version: "{build}" + +image: Visual Studio 2015 + +configuration: + - Release + - Debug + +clone_depth: 100 + +environment: + MYSQL_PATH: C:\Program Files\MySql\MySQL Server 5.7 + POSTGRESQL_PATH: C:\Program Files\PostgreSQL\9.5 + PGUSER: postgres + PGPASSWORD: Password12! + matrix: + - GENERATOR: "Visual Studio 14 2015 Win64" + - GENERATOR: "Visual Studio 14 2015" + +clone_folder: c:\projects\gammu + +install: + - ps: if (($env:CONFIGURATION) -eq "Debug" ) { .\admin\install_opencppcoverage.ps1 } + - appveyor DownloadFile https://download.microsoft.com/download/f/2/6/f263ac46-1fe9-4ae9-8fd3-21102100ebf5/msxsl.exe + +before_build: + - cmd: >- + "%MYSQL_PATH%\\bin\\mysql.exe" "--password=Password12!" "--user=root" "-e" "create database smsd;" + - cmd: >- + "%POSTGRESQL_PATH%\\bin\\createdb.exe" smsd + - cmd: >- + cmake -G "%GENERATOR%" -DCMAKE_INSTALL_PREFIX=%P% + -DODBC_TESTING=OFF "-DODBC_DSN=mysql:Driver={MySQL ODBC 5.3 Unicode Driver}:host=localhost;dbname=smsd" + -DMYSQL_TESTING=ON -DMYSQL_USER=root "-DMYSQL_PASSWORD=Password12!" + -DPSQL_TESTING=ON -DPSQL_USER=postgres "-DPSQL_PASSWORD=Password12!" + -DMEMORYCHECK_COMMAND="c:/projects/gammu/admin/windows-coverage.bat" -DMEMORYCHECK_COMMAND_OPTIONS="--separator" -DMEMORYCHECK_TYPE=Valgrind + -DPOSTGRES_FOUND=OFF -DMYSQL_FOUND=OFF + +build: + project: ALL_BUILD.vcxproj + parallel: true + verbosity: quiet + +after_build: + - cmake --build . --config %CONFIGURATION% --target package + +test_script: + - "SET PATH=%MYSQL_PATH%\\bin;%POSTGRESQL_PATH%\\bin;c:\\projects\\gammu;%PATH%" + - ps: >- + $failure = 0; + try + { + if (($env:CONFIGURATION) -eq "Release" ) { + $mode = "ExperimentalTest"; + } else { + $mode = "ExperimentalMemCheck"; + } + ctest --output-on-failure --no-compress-output --dashboard $mode --build-config ($env:CONFIGURATION); + $failure = $lastExitCode; + } + catch + { + $failure = 1; + } + finally + { + # Copy test results to fixed name + Copy-Item Testing\$(Get-Content Testing\TAG -TotalCount 1)\*.xml test.xml; + # XLST CTest XML into Junit XML + msxsl test.xml admin/ctest-to-junit.xsl -o junit.xml; + # Upload results to AppVeyor + $wc = New-Object 'System.Net.WebClient'; + $wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\junit.xml)); + } + if ($failure -ne 0) { + # Propagate error code from testsuite + exit $failure; + } + +after_test: + - bash admin/codecov.sh + +services: + - mysql + - postgresql + +artifacts: + - path: Gammu-*-Windows.exe + name: Gammu Installer + - path: CMakeFiles/CMakeOutput.log + name: CMake log + - path: CMakeFiles/CMakeError.log + name: CMake errors + - path: CMakeCache.txt + name: CMake cache + - path: test.xml + name: Test results + - path: junit.xml + name: Transformed test results |