kiwix-build/.travis.yml

146 lines
3.8 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
- 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
docker build -t kiwix/build -f travis/Dockerfile .
docker run -e PLATFORM -e NIGHTLY_DATE -e TRAVIS_EVENT_TYPE -e TRAVIS_BUILD_DIR -e DESKTOP_ONLY -e TRAVIS_TAG --device /dev/fuse --cap-add SYS_ADMIN kiwix/build
else
travis/compile_all.py
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"
addons:
ssh_known_hosts:
- download.kiwix.org
- download.openzim.org
apt:
packages: &common
- cmake
- autopoint
- python3-pip
- ctpp2-utils
- libmagic-dev
matrix:
allow_failures:
- env: PLATFORM="android_arm"
- env: PLATFORM="android_arm64"
- env: PLATFORM="android_mips"
- env: PLATFORM="android_mips64"
- env: PLATFORM="android_x86"
- env: PLATFORM="android_x86_64"
- env: PLATFORM="android"
include:
- env: PLATFORM="native_dyn" 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