version: '{branch}-{build}' build: verbosity: minimal environment: matrix: # - BUILD: 'Debug' # CONFIG: debug # SHADOW_BUILD_DIR: $(APPVEYOR_BUILD_FOLDER)\build_windows_debug - BUILD: 'Release' CONFIG: installer SHADOW_BUILD_DIR: $(APPVEYOR_BUILD_FOLDER)\build_windows_install install: - git submodule update --init --recursive - call "%ProgramFiles(x86)%\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86 - set PATH=C:\Qt\Tools\QtCreator\bin;C:\Qt\5.5\msvc2013\bin;%PATH% - mkdir %LOCALAPPDATA%\QtProject && copy test\qtlogging.ini %LOCALAPPDATA%\QtProject\ - ps: | Write-Host "Installing NSIS..." -ForegroundColor Cyan $exePath = "$($env:USERPROFILE)\nsis-3.0rc1-setup.exe" Write-Host "Downloading..." (New-Object Net.WebClient).DownloadFile('https://storage.googleapis.com/appveyor-download-cache/nsis/nsis-3.0rc1-setup.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /S Write-Host "Installed" -ForegroundColor Green - ps: | Write-Host "Installing GStreamer..." -ForegroundColor Cyan $msiPath = "$($env:USERPROFILE)\gstreamer-1.0-x86-1.8.1.msi" Write-Host "Downloading..." (New-Object Net.WebClient).DownloadFile('https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/gstreamer-1.0-x86-1.8.1.msi', $msiPath) Write-Host "Installing..." cmd /c start /wait msiexec /package $msiPath /passive Write-Host "Installed" -ForegroundColor Green - ps: | Write-Host "Installing GStreamer dev..." -ForegroundColor Cyan $msiPath = "$($env:USERPROFILE)\gstreamer-1.0-devel-x86-1.8.1.msi" Write-Host "Downloading..." (New-Object Net.WebClient).DownloadFile('https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/gstreamer-1.0-devel-x86-1.8.1.msi', $msiPath) Write-Host "Installing..." cmd /c start /wait msiexec /package $msiPath /passive Write-Host "Installed" -ForegroundColor Green build_script: - mkdir %SHADOW_BUILD_DIR% && cd %SHADOW_BUILD_DIR% && C:\Qt\5.5\msvc2013\bin\qmake -r CONFIG-=debug_and_release CONFIG+=%CONFIG% CONFIG+=WarningsAsErrorsOn %APPVEYOR_BUILD_FOLDER%\qgroundcontrol.pro - cd %SHADOW_BUILD_DIR% && jom - if "%CONFIG%" EQU "installer" ( copy %SHADOW_BUILD_DIR%\release\QGroundControl-installer.exe %APPVEYOR_BUILD_FOLDER%\QGroundControl-installer.exe ) # Generate the source server information to embed in the PDB - '"C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\srcsrv\srctool.exe" -r -u "%SHADOW_BUILD_DIR%\release\qgroundcontrol.pdb" | grep qgroundcontrol | grep -v moc_ | grep -v libs\\mavlink | grep -v build_windows_install | python %APPVEYOR_BUILD_FOLDER%\deploy\genPDBsrcsrv.py > %SHADOW_BUILD_DIR%\release\qgroundcontrol.pdb.srcsrv' # write the source server info - '"C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\srcsrv\pdbstr.exe" -w -i:%SHADOW_BUILD_DIR%\release\qgroundcontrol.pdb.srcsrv -p:%SHADOW_BUILD_DIR%\release\qgroundcontrol.pdb -s:srcsrv' # build the symbol / PE store - 'cd %APPVEYOR_BUILD_FOLDER% && "C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symstore.exe" add /compress /s symbols /f %SHADOW_BUILD_DIR%\release\qgroundcontrol.pdb /t qgroundcontrol' - 'cd %APPVEYOR_BUILD_FOLDER% && "C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symstore.exe" add /compress /s symbols /f %SHADOW_BUILD_DIR%\release\qgroundcontrol.exe /t qgroundcontrol' - ps: 'cd $env:appveyor_build_folder; .\deploy\lowercaseify_symbolstore.ps1' test_script: - if "%CONFIG%" EQU "debug" ( %SHADOW_BUILD_DIR%\debug\qgroundcontrol --unittest ) artifacts: - path: QGroundControl-installer.exe name: qgcinstaller - path: symbols\**\*.*_ name: symbols deploy: # deploy continuous builds to s3 - provider: S3 access_key_id: secure: IGAojLMqokL+76DbdulmWDA3MTsxEBBi3ReVVSqTy9c= secret_access_key: secure: RiYqaR+3T2PMNz2j5ur8LCA6H/Zfd4jTX33CZE5iBxm+zaz4QLs25p0B7prpaoNN bucket: qgroundcontrol set_public: true folder: builds/$(APPVEYOR_REPO_BRANCH) artifact: qgcinstaller on: CONFIG: installer # deploy daily build symbols to s3 - provider: S3 access_key_id: secure: IGAojLMqokL+76DbdulmWDA3MTsxEBBi3ReVVSqTy9c= secret_access_key: secure: RiYqaR+3T2PMNz2j5ur8LCA6H/Zfd4jTX33CZE5iBxm+zaz4QLs25p0B7prpaoNN bucket: qgroundcontrol set_public: true folder: cisyms artifact: symbols on: CONFIG: installer appveyor_repo_tag: false # deploy release symbols to s3 - provider: S3 access_key_id: secure: IGAojLMqokL+76DbdulmWDA3MTsxEBBi3ReVVSqTy9c= secret_access_key: secure: RiYqaR+3T2PMNz2j5ur8LCA6H/Zfd4jTX33CZE5iBxm+zaz4QLs25p0B7prpaoNN bucket: qgroundcontrol set_public: true folder: releasesyms artifact: symbols on: CONFIG: installer appveyor_repo_tag: true # deploy tagged releases to Github releases - provider: GitHub auth_token: secure: dzWLqd0eTKjrAWC5LgqVnwLemmrNdddGA2ZZn/OthAP37mwCLkP2C1zil7ivmEE8 artifact: qgcinstaller draft: false prerelease: false on: CONFIG: installer appveyor_repo_tag: true # deploy tagged releases to s3 version folder - provider: S3 access_key_id: secure: IGAojLMqokL+76DbdulmWDA3MTsxEBBi3ReVVSqTy9c= secret_access_key: secure: RiYqaR+3T2PMNz2j5ur8LCA6H/Zfd4jTX33CZE5iBxm+zaz4QLs25p0B7prpaoNN bucket: qgroundcontrol set_public: true folder: $(APPVEYOR_REPO_TAG_NAME) artifact: qgcinstaller on: CONFIG: installer appveyor_repo_tag: true # deploy tagged releases to s3 latest folder - provider: S3 access_key_id: secure: IGAojLMqokL+76DbdulmWDA3MTsxEBBi3ReVVSqTy9c= secret_access_key: secure: RiYqaR+3T2PMNz2j5ur8LCA6H/Zfd4jTX33CZE5iBxm+zaz4QLs25p0B7prpaoNN bucket: qgroundcontrol set_public: true folder: latest artifact: qgcinstaller on: CONFIG: installer appveyor_repo_tag: true