kiwix-build/.travis.yml

161 lines
4.1 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

language: cpp
dist: trusty
sudo: required
services:
- docker
branches:
only:
- master
- /\d+\.\d+\.\d+$/
if: type != push OR tag IS present
before_install:
- PATH=$PATH:${HOME}/bin:${HOME}/.local/bin
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=$PATH:$(brew --prefix)/opt/gettext/bin; fi
- '[ -n "$encrypted_eba2f7543984_iv" ] && openssl aes-256-cbc
-K $encrypted_eba2f7543984_key -iv $encrypted_eba2f7543984_iv
-in travis/travisci_builder_id_key.enc -out travis/travisci_builder_id_key -d'
- chmod 600 travis/travisci_builder_id_key
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
ccache: true
directories:
- $HOME/.cache/pip
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $HOME/.android/build-cache
install: if [[ $TRAVIS_OS_NAME != "linux" || $DESKTOP_ONLY != 1 ]]; then travis/install_extra_deps.sh; fi
script:
- |
if [[ $TRAVIS_OS_NAME = "linux" && $DESKTOP_ONLY == 1 ]]
then
if [[ $PLATFORM = "flatpak" ]]
then
docker build -t kiwix/build -f travis/Dockerfile_flatpak .
else
docker build -t kiwix/build -f travis/Dockerfile .
fi
docker run -e PLATFORM -e NIGHTLY_DATE -e TRAVIS_EVENT_TYPE -e DESKTOP_ONLY -e TRAVIS_TAG --device /dev/fuse --cap-add ALL --privileged kiwix/build
else
if [[ $TRAVIS_OS_NAME = "linux" ]]
then
python3.5 travis/compile_all.py
else
python3 travis/compile_all.py
fi
fi
after_failure: travis/upload_all_log.sh
deploy:
- provider: script
skip_cleanup: true
script: travis/deploy.sh
on:
tags: true
condition: $TRAVIS_OS_NAME != "linux" || $DESKTOP_ONLY != 1
- provider: script
skip_cleanup: true
script: travis/deploy.sh
on:
branch: master
condition: $TRAVIS_EVENT_TYPE = cron && ( $TRAVIS_OS_NAME != "linux" || $DESKTOP_ONLY != 1 )
env:
global:
- NIGHTLY_DATE=$(date +%Y-%m-%d)
matrix:
- PLATFORM="native_dyn"
- PLATFORM="armhf_dyn"
- PLATFORM="armhf_static"
- PLATFORM="native_mixed"
addons:
ssh_known_hosts:
- download.kiwix.org
- tmp.kiwix.org
- download.openzim.org
apt:
packages: &common
- cmake
- autopoint
- python3.5
- python3-pip
- ctpp2-utils
- libmagic-dev
matrix:
include:
- env: PLATFORM="native_dyn" DESKTOP_ONLY=1
addons:
apt:
packages: []
- env: PLATFORM="flatpak" DESKTOP_ONLY=1
addons:
apt:
packages: []
- env: PLATFORM="native_static"
addons:
apt:
packages:
- *common
- libbz2-dev
- zlib1g-dev
- uuid-dev
- libctpp2-dev
- env: PLATFORM="win32_dyn"
addons: &win32_addons
apt:
packages:
- *common
- g++-mingw-w64-i686
- gcc-mingw-w64-i686
- gcc-mingw-w64-base
- mingw-w64-tools
- env: PLATFORM="win32_static"
addons: *win32_addons
- env: PLATFORM="i586_dyn"
addons: &i586_addons
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- *common
- gcc-multilib
- g++-multilib
- libc6-dev:i386
- libstdc++-6-dev:i386
- env: PLATFORM="i586_static"
addons: *i586_addons
- env: PLATFORM="android"
addons: &android_addons
apt:
packages:
- *common
- default-jdk
- env: PLATFORM="android_arm"
addons: *android_addons
- env: PLATFORM="android_arm64"
addons: *android_addons
- env: PLATFORM="android_x86"
addons: *android_addons
- env: PLATFORM="android_x86_64"
addons: *android_addons
- env: PLATFORM="native_dyn"
os: osx
- env: PLATFORM="iOS_arm64"
os: osx
- env: PLATFORM="iOS_i386"
os: osx
notifications:
irc:
channels:
- "chat.freenode.net#kiwix"
on_success: change
on_failure: always
email:
recipients:
- contact@kiwix.org
- mgautier@kymeria.fr
on_success: change
on_failure: always