Skip to content
Snippets Groups Projects
.appveyor.yml 4.9 KiB
Newer Older
  • Learn to ignore specific revisions
  • Daniel Agar's avatar
    Daniel Agar committed
    version: '{branch}-{build}'
    
    build:
      verbosity: minimal
    
    
    environment:
      matrix:
    
    #  - BUILD: 'Debug'
    #    CONFIG: debug
    #    SHADOW_BUILD_DIR: $(APPVEYOR_BUILD_FOLDER)\build_windows_debug
    
    Daniel Agar's avatar
    Daniel Agar committed
      - 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
    
    Daniel Agar's avatar
    Daniel Agar committed
      - 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
    
    Daniel Agar's avatar
    Daniel Agar committed
      - 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://gstreamer.freedesktop.org/data/pkg/windows/1.8.1/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://gstreamer.freedesktop.org/data/pkg/windows/1.8.1/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 )
    
    Daniel Agar's avatar
    Daniel Agar committed
    
    
    Daniel Agar's avatar
    Daniel Agar committed
    artifacts:
    
      - path: qgroundcontrol-installer.exe
    
    Daniel Agar's avatar
    Daniel Agar committed
        name: qgcinstaller
    
    Daniel Agar's avatar
    Daniel Agar committed
    
    
      - path: symbols\**\*.*_
        name: symbols
    
    
    Daniel Agar's avatar
    Daniel Agar committed
    deploy:
      - provider: S3
    
        access_key_id:
          secure: IGAojLMqokL+76DbdulmWDA3MTsxEBBi3ReVVSqTy9c=
    
    Daniel Agar's avatar
    Daniel Agar committed
        secret_access_key:
          secure: RiYqaR+3T2PMNz2j5ur8LCA6H/Zfd4jTX33CZE5iBxm+zaz4QLs25p0B7prpaoNN
    
        bucket: qgroundcontrol
    
    Daniel Agar's avatar
    Daniel Agar committed
        set_public: true
    
        folder: $(APPVEYOR_REPO_BRANCH)
    
    Daniel Agar's avatar
    Daniel Agar committed
        artifact: qgcinstaller
    
        on:
          CONFIG: installer
    
      - 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
      - provider: GitHub
    
        auth_token:
          secure: dzWLqd0eTKjrAWC5LgqVnwLemmrNdddGA2ZZn/OthAP37mwCLkP2C1zil7ivmEE8
    
    Daniel Agar's avatar
    Daniel Agar committed
        artifact: qgcinstaller
    
    Daniel Agar's avatar
    Daniel Agar committed
        draft: false
        prerelease: false
        on:
    
          CONFIG: installer
    
    Daniel Agar's avatar
    Daniel Agar committed
          appveyor_repo_tag: true