blob: b5ad13a60c45f18ac4df0083a6224fcd169d7ad7 [file] [log] [blame]
Cosimo Lupo2dc2ac72016-08-10 18:33:43 +01001#!/bin/bash
Evan Nemerson37be4e32016-06-28 20:35:16 -07002
3case "$1" in
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +01004 "before_install")
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +01005 ;;
Evan Nemerson37be4e32016-06-28 20:35:16 -07006 "install")
7 case "${TRAVIS_OS_NAME}" in
8 "osx")
Eugene Kliuchnikovf83aa512020-03-31 14:38:01 +02009 brew update >/dev/null
Evan Nemerson37be4e32016-06-28 20:35:16 -070010 brew install binutils
11
12 case "${CC}" in
13 "gcc-"*)
Eugene Kliuchnikov68db5c02018-04-13 11:44:34 +020014 which ${CC} || brew install $(echo "${CC}" | sed 's/\-/@/') || brew link --overwrite $(echo "${CC}" | sed 's/\-/@/')
Evan Nemerson37be4e32016-06-28 20:35:16 -070015 ;;
16 esac
17
18 case "${BUILD_SYSTEM}" in
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +010019 "bazel")
Eugene Kliuchnikovf83aa512020-03-31 14:38:01 +020020 brew cask install homebrew/cask-versions/adoptopenjdk8
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +010021 brew install bazel
22 ;;
Evan Nemerson37be4e32016-06-28 20:35:16 -070023 esac
24 ;;
Evan Nemersond03c38d2017-02-19 01:06:13 -080025 "linux")
26 case "${CC}" in
27 "pgcc")
Eugene Kliuchnikov29ad4db2017-03-23 16:23:57 +010028 wget 'https://raw.githubusercontent.com/nemequ/pgi-travis/de6212d94fd0e7d07a6ef730c23548c337c436a7/install-pgi.sh'
29 echo 'acd3ef995ad93cfb87d26f65147395dcbedd4c3c844ee6ec39616f1a347c8df5 install-pgi.sh' | sha256sum -c --strict || exit 1
30 /bin/sh install-pgi.sh
Evan Nemersond03c38d2017-02-19 01:06:13 -080031 ;;
32 esac
33 ;;
Evan Nemerson37be4e32016-06-28 20:35:16 -070034 esac
35 ;;
36 "script")
37 case "${BUILD_SYSTEM}" in
38 "cmake")
39 mkdir builddir && cd builddir
Evan Nemerson03657e82016-07-28 13:31:09 -070040 CMAKE_FLAGS=
41 if [ "${CROSS_COMPILE}" = "yes" ]; then
42 CMAKE_FLAGS="-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${RC_COMPILER}"
43 fi
Stephen Kyle67f059e2018-09-27 10:00:33 +010044 cmake ${CMAKE_FLAGS} -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" -DENABLE_SANITIZER="${SANITIZER}" -DCMAKE_C_FLAGS="${CFLAGS}" .. || exit 1
45 make VERBOSE=1 || exit 1
46 ctest -V || exit 1
Evan Nemerson37be4e32016-06-28 20:35:16 -070047 ;;
48 "python")
Cosimo Lupo4f455ca2017-08-23 19:45:13 +010049 python setup.py test
Evan Nemerson37be4e32016-06-28 20:35:16 -070050 ;;
Eugene Kliuchnikovee5c7192017-03-22 19:13:59 +010051 "maven")
52 cd java/org/brotli
53 mvn install && cd integration && mvn verify
54 ;;
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010055 "autotools")
56 ./bootstrap && ./configure && make
57 ;;
Eugene Kliuchnikov4f8cd4c2017-09-26 13:49:30 +020058 "fuzz")
59 ./c/fuzz/test_fuzzer.sh
60 ;;
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +010061 "bazel")
Eugene Kliuchnikov1e7ea1d2018-06-04 17:53:16 +020062 bazel build -c opt ...:all &&
63 cd go && bazel test -c opt ...:all && cd .. &&
64 cd java && bazel test -c opt ...:all && cd .. &&
65 cd js && bazel test -c opt ...:all && cd .. &&
66 cd research && bazel build -c opt ...:all && cd ..
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +010067 ;;
Evan Nemerson37be4e32016-06-28 20:35:16 -070068 esac
69 ;;
70 "after_success")
Evan Nemerson37be4e32016-06-28 20:35:16 -070071 ;;
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +010072 "before_deploy")
73 case "${BUILD_SYSTEM}" in
74 "bazel")
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +010075 export RELEASE_DATE=`date +%Y-%m-%d`
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +020076 perl -p -i -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' scripts/.bintray.json
Eugene Kliuchnikov03739d22017-05-29 17:55:14 +020077 zip -j9 brotli.zip bazel-bin/libbrotli*.a bazel-bin/libbrotli*.so bazel-bin/brotli
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +010078 ;;
79 esac
80 ;;
Evan Nemerson37be4e32016-06-28 20:35:16 -070081esac