blob: 367cdfa91cd4316d90fdd220721b991efa141e5f [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")
9 brew update
10 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")
20 brew install bazel
21 ;;
Evan Nemerson37be4e32016-06-28 20:35:16 -070022 esac
23 ;;
Evan Nemersond03c38d2017-02-19 01:06:13 -080024 "linux")
25 case "${CC}" in
26 "pgcc")
Eugene Kliuchnikov29ad4db2017-03-23 16:23:57 +010027 wget 'https://raw.githubusercontent.com/nemequ/pgi-travis/de6212d94fd0e7d07a6ef730c23548c337c436a7/install-pgi.sh'
28 echo 'acd3ef995ad93cfb87d26f65147395dcbedd4c3c844ee6ec39616f1a347c8df5 install-pgi.sh' | sha256sum -c --strict || exit 1
29 /bin/sh install-pgi.sh
Evan Nemersond03c38d2017-02-19 01:06:13 -080030 ;;
31 esac
32 ;;
Evan Nemerson37be4e32016-06-28 20:35:16 -070033 esac
34 ;;
35 "script")
36 case "${BUILD_SYSTEM}" in
37 "cmake")
38 mkdir builddir && cd builddir
Evan Nemerson03657e82016-07-28 13:31:09 -070039 CMAKE_FLAGS=
40 if [ "${CROSS_COMPILE}" = "yes" ]; then
41 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}"
42 fi
Stephen Kyle67f059e2018-09-27 10:00:33 +010043 cmake ${CMAKE_FLAGS} -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" -DENABLE_SANITIZER="${SANITIZER}" -DCMAKE_C_FLAGS="${CFLAGS}" .. || exit 1
44 make VERBOSE=1 || exit 1
45 ctest -V || exit 1
Evan Nemerson37be4e32016-06-28 20:35:16 -070046 ;;
47 "python")
Cosimo Lupo4f455ca2017-08-23 19:45:13 +010048 python setup.py test
Evan Nemerson37be4e32016-06-28 20:35:16 -070049 ;;
Eugene Kliuchnikovee5c7192017-03-22 19:13:59 +010050 "maven")
51 cd java/org/brotli
52 mvn install && cd integration && mvn verify
53 ;;
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010054 "autotools")
55 ./bootstrap && ./configure && make
56 ;;
Eugene Kliuchnikov4f8cd4c2017-09-26 13:49:30 +020057 "fuzz")
58 ./c/fuzz/test_fuzzer.sh
59 ;;
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +010060 "bazel")
Eugene Kliuchnikov1e7ea1d2018-06-04 17:53:16 +020061 bazel build -c opt ...:all &&
62 cd go && bazel test -c opt ...:all && cd .. &&
63 cd java && bazel test -c opt ...:all && cd .. &&
64 cd js && bazel test -c opt ...:all && cd .. &&
65 cd research && bazel build -c opt ...:all && cd ..
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +010066 ;;
Evan Nemerson37be4e32016-06-28 20:35:16 -070067 esac
68 ;;
69 "after_success")
Evan Nemerson37be4e32016-06-28 20:35:16 -070070 ;;
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +010071 "before_deploy")
72 case "${BUILD_SYSTEM}" in
73 "bazel")
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +010074 export RELEASE_DATE=`date +%Y-%m-%d`
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +020075 perl -p -i -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' scripts/.bintray.json
Eugene Kliuchnikov03739d22017-05-29 17:55:14 +020076 zip -j9 brotli.zip bazel-bin/libbrotli*.a bazel-bin/libbrotli*.so bazel-bin/brotli
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +010077 ;;
78 esac
79 ;;
Evan Nemerson37be4e32016-06-28 20:35:16 -070080esac