.appveyor.yml 4.91 KB
Newer Older
Daniel Agar's avatar
Daniel Agar committed
1 2 3 4
version: '{branch}-{build}'

build:
  verbosity: minimal
5 6 7

environment:
  matrix:
8 9 10
#  - BUILD: 'Debug'
#    CONFIG: debug
#    SHADOW_BUILD_DIR: $(APPVEYOR_BUILD_FOLDER)\build_windows_debug
Daniel Agar's avatar
Daniel Agar committed
11 12
  - BUILD: 'Release'
    CONFIG: installer
13
    SHADOW_BUILD_DIR: $(APPVEYOR_BUILD_FOLDER)\build_windows_install
14 15 16 17

install:
  - git submodule update --init --recursive
  - call "%ProgramFiles(x86)%\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86
Daniel Agar's avatar
Daniel Agar committed
18
  - set PATH=C:\Qt\Tools\QtCreator\bin;C:\Qt\5.5\msvc2013\bin;%PATH%
19
  - mkdir %LOCALAPPDATA%\QtProject && copy test\qtlogging.ini %LOCALAPPDATA%\QtProject\
20 21 22 23 24 25 26 27
  - 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
Daniel Agar's avatar
Daniel Agar committed
28 29 30 31
  - ps: |
      Write-Host "Installing GStreamer..." -ForegroundColor Cyan
      $msiPath = "$($env:USERPROFILE)\gstreamer-1.0-x86-1.8.1.msi"
      Write-Host "Downloading..."
32
      (New-Object Net.WebClient).DownloadFile('https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/gstreamer-1.0-x86-1.8.1.msi', $msiPath)
Daniel Agar's avatar
Daniel Agar committed
33 34 35 36 37 38 39
      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..."
40
      (New-Object Net.WebClient).DownloadFile('https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/gstreamer-1.0-devel-x86-1.8.1.msi', $msiPath)
Daniel Agar's avatar
Daniel Agar committed
41 42 43
      Write-Host "Installing..."
      cmd /c start /wait msiexec /package $msiPath /passive
      Write-Host "Installed" -ForegroundColor Green
44 45

build_script:
46 47
  - 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
48
  - if "%CONFIG%" EQU "installer" ( copy %SHADOW_BUILD_DIR%\release\qgroundcontrol-installer.exe %APPVEYOR_BUILD_FOLDER%\qgroundcontrol-installer.exe )
49
# Generate the source server information to embed in the PDB
50
  - '"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'
51
# write the source server info
52
  - '"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'
53
# build the symbol / PE store
54 55 56
  - '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'
57 58

test_script:
59
  - if "%CONFIG%" EQU "debug" ( %SHADOW_BUILD_DIR%\debug\qgroundcontrol --unittest )
Daniel Agar's avatar
Daniel Agar committed
60

Daniel Agar's avatar
Daniel Agar committed
61
artifacts:
62
  - path: qgroundcontrol-installer.exe
Daniel Agar's avatar
Daniel Agar committed
63
    name: qgcinstaller
Daniel Agar's avatar
Daniel Agar committed
64

65 66 67
  - path: symbols\**\*.*_
    name: symbols

Daniel Agar's avatar
Daniel Agar committed
68 69
deploy:
  - provider: S3
70 71
    access_key_id:
      secure: IGAojLMqokL+76DbdulmWDA3MTsxEBBi3ReVVSqTy9c=
Daniel Agar's avatar
Daniel Agar committed
72 73
    secret_access_key:
      secure: RiYqaR+3T2PMNz2j5ur8LCA6H/Zfd4jTX33CZE5iBxm+zaz4QLs25p0B7prpaoNN
74
    bucket: qgroundcontrol
Daniel Agar's avatar
Daniel Agar committed
75
    set_public: true
76
    folder: $(APPVEYOR_REPO_BRANCH)
Daniel Agar's avatar
Daniel Agar committed
77
    artifact: qgcinstaller
78 79
    on:
      CONFIG: installer
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
  - 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
  - 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
Daniel Agar's avatar
Daniel Agar committed
104
  - provider: GitHub
105 106
    auth_token:
      secure: dzWLqd0eTKjrAWC5LgqVnwLemmrNdddGA2ZZn/OthAP37mwCLkP2C1zil7ivmEE8
Daniel Agar's avatar
Daniel Agar committed
107
    artifact: qgcinstaller
Daniel Agar's avatar
Daniel Agar committed
108 109 110
    draft: false
    prerelease: false
    on:
111
      CONFIG: installer
Daniel Agar's avatar
Daniel Agar committed
112
      appveyor_repo_tag: true