sudo: required dist: trusty language: cpp cache: ccache # regex is for release tags branches: only: - master - /^v(\d+\.){2}\d+$/ stages: - Linux - name: "Windows Stage 1: Dependencies (OpenSSL, Qt)" if: type = push AND branch = master - name: "Windows Stage 2: Dependencies (other)" if: type = push AND branch = master - name: "Windows Stage 3: qTox" if: type = push AND branch = master jobs: include: - stage: Linux os: linux env: JOB=verify-commit-format script: "./.travis/$JOB.sh" - stage: Linux os: linux env: JOB=build-docs DOXYGEN_CONFIG_FILE=doxygen.conf script: "./.travis/$JOB.sh" - stage: Linux os: linux env: JOB=build-gitstats GITSTATS_DIR=gitstats addons: apt: packages: - gitstats script: "./.travis/$JOB.sh" # the actual compilin' - stage: Linux os: linux env: JOB=build-ubuntu-14-04 script: "./.travis/$JOB.sh" - stage: "Windows Stage 1: Dependencies (OpenSSL, Qt)" os: linux # Makes the cache this job creates avaiable only to jobs with WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=i686, # making sure that i686 and x86_64 caches don't overwrite each other env: WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=i686 script: ./.travis/build-windows.sh i686 release /opt/build-windows/i686 stage1 services: - docker cache: directories: - /opt/build-windows/i686 - stage: "Windows Stage 1: Dependencies (OpenSSL, Qt)" os: linux env: WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=x86_64 script: ./.travis/build-windows.sh x86_64 release /opt/build-windows/x86_64 stage1 services: - docker cache: directories: - /opt/build-windows/x86_64 - stage: "Windows Stage 2: Dependencies (other)" os: linux env: WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=i686 script: ./.travis/build-windows.sh i686 release /opt/build-windows/i686 stage2 services: - docker cache: directories: - /opt/build-windows/i686 - stage: "Windows Stage 2: Dependencies (other)" os: linux env: WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=x86_64 script: ./.travis/build-windows.sh x86_64 release /opt/build-windows/x86_64 stage2 services: - docker cache: directories: - /opt/build-windows/x86_64 - stage: "Windows Stage 3: qTox" os: linux env: WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=i686 script: ./.travis/build-windows.sh i686 release /opt/build-windows/i686 stage3 services: - docker cache: directories: - /opt/build-windows/i686 - stage: "Windows Stage 3: qTox" os: linux env: WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=x86_64 script: ./.travis/build-windows.sh x86_64 release /opt/build-windows/x86_64 stage3 services: - docker cache: directories: - /opt/build-windows/x86_64 - stage: "Windows Stage 3: qTox" os: linux env: WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=i686 script: ./.travis/build-windows.sh i686 debug /opt/build-windows/i686 stage3 services: - docker cache: directories: - /opt/build-windows/i686 - stage: "Windows Stage 3: qTox" os: linux env: WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE=x86_64 script: ./.travis/build-windows.sh x86_64 debug /opt/build-windows/x86_64 stage3 services: - docker cache: directories: - /opt/build-windows/x86_64 - stage: "macOS, AppImage and Flatpak" os: osx osx_image: xcode9.2 env: JOB=build-osx cache: timeout: 300 # seconds ccache: true directories: - $HOME/Library/Caches/Homebrew before_cache: - brew cleanup script: "./.travis/$JOB.sh" - stage: "macOS, AppImage and Flatpak" os: linux env: JOB=APPIMAGE script: ./appimage/build-appimage.sh services: - docker - stage: "macOS, AppImage and Flatpak" os: linux env: JOB=FLATPAK script: ./flatpak/build-flatpak.sh services: - docker deploy: # Linux AppImage - provider: releases api_key: secure: "BRbzTWRvadALRQSTihMKruOj64ydxusMUS9FQR//qFlS345ZYfYta43W//4LcWWDKtj6IvA6DRqNdabgWnpbpxpnm9gVftGUdOKlU3niPZhwsMkB2M12QHUnAP6DVOfGPvdciBV+6mu73SSxniEcrYjZ1CrRX7mknmehPpVKxNk=" file_glob: true file: ./output/* on: condition: $JOB == APPIMAGE repo: qTox/qTox tags: true skip_cleanup: true # Linux Flatpak - provider: releases api_key: secure: "BRbzTWRvadALRQSTihMKruOj64ydxusMUS9FQR//qFlS345ZYfYta43W//4LcWWDKtj6IvA6DRqNdabgWnpbpxpnm9gVftGUdOKlU3niPZhwsMkB2M12QHUnAP6DVOfGPvdciBV+6mu73SSxniEcrYjZ1CrRX7mknmehPpVKxNk=" file_glob: true file: ./output/* on: condition: $JOB == FLATPAK repo: qTox/qTox tags: true skip_cleanup: true # osx binary - provider: releases api_key: secure: "BRbzTWRvadALRQSTihMKruOj64ydxusMUS9FQR//qFlS345ZYfYta43W//4LcWWDKtj6IvA6DRqNdabgWnpbpxpnm9gVftGUdOKlU3niPZhwsMkB2M12QHUnAP6DVOfGPvdciBV+6mu73SSxniEcrYjZ1CrRX7mknmehPpVKxNk=" file: "./qTox.dmg" file: "./qTox.dmg.sha256" on: condition: $TRAVIS_OS_NAME == osx repo: qTox/qTox tags: true skip_cleanup: true # Windows Installer 64Bit - provider: releases api_key: secure: "BRbzTWRvadALRQSTihMKruOj64ydxusMUS9FQR//qFlS345ZYfYta43W//4LcWWDKtj6IvA6DRqNdabgWnpbpxpnm9gVftGUdOKlU3niPZhwsMkB2M12QHUnAP6DVOfGPvdciBV+6mu73SSxniEcrYjZ1CrRX7mknmehPpVKxNk=" file: "./workspace/x86_64/qtox/release/setup-qtox-x86_64-release.exe" file: "./workspace/x86_64/qtox/release/setup-qtox-x86_64-release.exe.sha256" on: condition: $WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE == x86_64 && -f /home/travis/build/qTox/qTox/stage3 && -f /home/travis/build/qTox/qTox/release repo: qTox/qTox tags: true skip_cleanup: true # Windows Installer 32Bit - provider: releases api_key: secure: "BRbzTWRvadALRQSTihMKruOj64ydxusMUS9FQR//qFlS345ZYfYta43W//4LcWWDKtj6IvA6DRqNdabgWnpbpxpnm9gVftGUdOKlU3niPZhwsMkB2M12QHUnAP6DVOfGPvdciBV+6mu73SSxniEcrYjZ1CrRX7mknmehPpVKxNk=" file: "./workspace/i686/qtox/release/setup-qtox-i686-release.exe" file: "./workspace/i686/qtox/release/setup-qtox-i686-release.exe.sha256" on: condition: $WINDOWS_BUILD_ARCH_CACHE_TRICK_VARIABLE == i686 && -f /home/travis/build/qTox/qTox/stage3 && -f /home/travis/build/qTox/qTox/release repo: qTox/qTox tags: true skip_cleanup: true # branch for windows jenkins build - provider: script script: .travis/deploy-jenkins-branch.sh on: tags: true skip_cleanup: true after_success: - > test $TRAVIS_PULL_REQUEST == "false" && test $TRAVIS_BRANCH == "master" && test $JOB == "build-docs" && bash ./.travis/deploy-docs.sh - > test $TRAVIS_PULL_REQUEST == "false" && test $TRAVIS_BRANCH == "master" && test $JOB == "build-gitstats" && bash ./.travis/deploy-gitstats.sh