mirror of https://github.com/BOINC/boinc.git
90 lines
4.6 KiB
YAML
90 lines
4.6 KiB
YAML
language: cpp
|
|
os: linux
|
|
compiler:
|
|
- gcc
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
- coverity_scan
|
|
|
|
dist: xenial
|
|
|
|
cache:
|
|
timeout: 600
|
|
directories:
|
|
- 3rdParty/buildCache
|
|
|
|
addons:
|
|
coverity_scan:
|
|
project:
|
|
name: "BOINC/boinc"
|
|
description: "Build submitted via Travis CI"
|
|
notification_email: christian.beer@posteo.de
|
|
build_command_prepend: "./configure --enable-apps"
|
|
build_command: "make -j 4"
|
|
branch_pattern: coverity_scan
|
|
|
|
env:
|
|
global:
|
|
# secret API keys for Coverity and bintray
|
|
- secure: "Rd++Hyurnwd/tvjH0PX2seO3QUZ6WOf8bSB2ZkKPfZCU6+tXVMvloyog6Mlc7vl0m3WFAzw24MDtNLFBUktRsVXOkqDup1s6PdkwwcwG+5wAnydN+kXF9PcqKyOi0xJvl48Wji+r92Y9SCLzPnQGjZg70xHET22bDZHt2FsjP80="
|
|
- secure: dYJhIQi9mB00HsyjNEbyyeh7ChHxbg9o6dkBvub/4dRwJKN+KAReU7yHshUTpHI+Nn4TdCjpwHcDMDOklRTSeUFz79jGEmCVqvnz0DynZFroryX3rdAnc/kW4QkupgLZk4JKCN0JRPOM/j9RS2zLxkqrDc7gibF7BNgIhu1jUXk=
|
|
jobs:
|
|
- BOINC_TYPE=libs
|
|
- BOINC_TYPE=server
|
|
- BOINC_TYPE=client
|
|
- BOINC_TYPE=apps
|
|
- BOINC_TYPE=manager
|
|
- BOINC_TYPE=libs-mingw
|
|
- BOINC_TYPE=apps-mingw
|
|
- BOINC_TYPE=unit-test
|
|
|
|
jobs:
|
|
fast_finish: true
|
|
include:
|
|
- language: php
|
|
os: linux
|
|
php: 7.0
|
|
env:
|
|
- BOINC_TYPE=integration-test
|
|
- language: cpp
|
|
os: osx
|
|
env: BOINC_TYPE=manager-osx
|
|
- language: android
|
|
android:
|
|
components:
|
|
- build-tools-29.0.3
|
|
- android-29
|
|
- extra-google-m2repository
|
|
- extra-android-m2repository
|
|
env: BOINC_TYPE=manager-android
|
|
jdk:
|
|
- openjdk9
|
|
|
|
before_install:
|
|
- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then ( sudo apt-get -qq update ) fi
|
|
- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then ( sudo apt-get install -y freeglut3-dev libxmu-dev libxi-dev libfcgi-dev libxss-dev libnotify-dev libxcb-util0-dev libsqlite3-dev libgtk2.0-dev libwebkitgtk-dev mingw-w64 binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 gcc-mingw-w64 gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 g++-mingw-w64 g++-mingw-w64-i686 g++-mingw-w64-x86-64 realpath p7zip-full ) fi
|
|
- if [[ "${BOINC_TYPE}" == "integration-test" ]]; then ( sudo apt-get install ansible/xenial-backports; sudo service mysql stop; ) fi
|
|
|
|
before_script:
|
|
- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then ( ./_autosetup ) fi
|
|
- if [[ "${BOINC_TYPE}" == "integration-test" ]]; then ( ./integration_test/installTestSuite.sh ) fi
|
|
|
|
script:
|
|
- if [[ "${BOINC_TYPE}" == "libs" ]]; then ( ./configure --disable-server --disable-client --disable-manager && make ) fi
|
|
- if [[ "${BOINC_TYPE}" == "server" ]]; then ( ./configure --disable-client --disable-manager && make ) fi
|
|
- if [[ "${BOINC_TYPE}" == "client" ]]; then ( ./configure --disable-server --disable-manager && make ) fi
|
|
- if [[ "${BOINC_TYPE}" == "apps" ]]; then ( ./configure --enable-apps --disable-server --disable-client --disable-manager && make ) fi
|
|
- if [[ "${BOINC_TYPE}" == "manager" && "${TRAVIS_OS_NAME}" == "linux" ]]; then ( ./3rdParty/buildLinuxDependencies.sh && ./configure --disable-server --disable-client --with-wx-prefix=${TRAVIS_BUILD_DIR}/3rdParty/buildCache/linux && make ) fi
|
|
- if [[ "${BOINC_TYPE}" == "manager" && "${TRAVIS_OS_NAME}" == "linux" ]]; then ( make distclean && ./3rdParty/buildLinuxDependencies.sh --disable-webview --cache_dir ${TRAVIS_BUILD_DIR}/3rdParty/buildCache/linux2 && ./configure --disable-server --disable-client --with-wx-prefix=${TRAVIS_BUILD_DIR}/3rdParty/buildCache/linux2 && make ) fi
|
|
- if [[ "${BOINC_TYPE}" == "libs-mingw" ]]; then ( cd lib && MINGW=x86_64-w64-mingw32 make -f Makefile.mingw ) fi
|
|
- if [[ "${BOINC_TYPE}" == "apps-mingw" ]]; then ( cd lib && MINGW=x86_64-w64-mingw32 make -f Makefile.mingw wrapper ) fi
|
|
- if [[ "${BOINC_TYPE}" == "manager-osx" ]]; then ( ./3rdParty/buildMacDependencies.sh -q && ./mac_build/buildMacBOINC-CI.sh --no_shared_headers ) fi
|
|
- if [[ "${BOINC_TYPE}" == "manager-android" ]]; then ( cd android && ./buildAndroidBOINC-CI.sh --arch arm --silent && ./buildAndroidBOINC-CI.sh --arch arm64 --silent && ./buildAndroidBOINC-CI.sh --arch x86 --silent && ./buildAndroidBOINC-CI.sh --arch x86_64 --silent && cd BOINC && ./gradlew clean assemble combinedTestReportDebug && bash <(curl -s https://codecov.io/bash) && cd ../../ ) fi
|
|
- if [[ "${BOINC_TYPE}" == "unit-test" ]]; then ( ./3rdParty/buildLinuxDependencies.sh --gtest-only && ./configure --disable-client --disable-manager --enable-unit-tests CFLAGS="-g -O0" CXXFLAGS="-g -O0" && make && ./tests/executeUnitTests.sh --report-coverage ) fi
|
|
- if [[ "${BOINC_TYPE}" == "integration-test" ]]; then ( ./integration_test/executeTestSuite.sh ) fi
|
|
|
|
after_success:
|
|
- ./deploy/prepare_deployment.sh ${BOINC_TYPE} deploy/${BOINC_TYPE}/ && ./deploy/deploy_to_bintray.sh deploy/${BOINC_TYPE}/
|