161 lines
4.1 KiB
YAML
161 lines
4.1 KiB
YAML
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
|