Cosimo Lupo | 2dc2ac7 | 2016-08-10 18:33:43 +0100 | [diff] [blame] | 1 | #!/bin/bash |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 2 | |
| 3 | case "$1" in |
Eugene Kliuchnikov | 22421eb | 2017-03-23 13:35:53 +0100 | [diff] [blame] | 4 | "before_install") |
Eugene Kliuchnikov | 22421eb | 2017-03-23 13:35:53 +0100 | [diff] [blame] | 5 | ;; |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 6 | "install") |
| 7 | case "${TRAVIS_OS_NAME}" in |
| 8 | "osx") |
| 9 | brew update |
| 10 | brew install binutils |
| 11 | |
| 12 | case "${CC}" in |
| 13 | "gcc-"*) |
Eugene Kliuchnikov | 68db5c0 | 2018-04-13 11:44:34 +0200 | [diff] [blame] | 14 | which ${CC} || brew install $(echo "${CC}" | sed 's/\-/@/') || brew link --overwrite $(echo "${CC}" | sed 's/\-/@/') |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 15 | ;; |
| 16 | esac |
| 17 | |
| 18 | case "${BUILD_SYSTEM}" in |
Eugene Kliuchnikov | 22421eb | 2017-03-23 13:35:53 +0100 | [diff] [blame] | 19 | "bazel") |
| 20 | brew install bazel |
| 21 | ;; |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 22 | esac |
| 23 | ;; |
Evan Nemerson | d03c38d | 2017-02-19 01:06:13 -0800 | [diff] [blame] | 24 | "linux") |
| 25 | case "${CC}" in |
| 26 | "pgcc") |
Eugene Kliuchnikov | 29ad4db | 2017-03-23 16:23:57 +0100 | [diff] [blame] | 27 | 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 Nemerson | d03c38d | 2017-02-19 01:06:13 -0800 | [diff] [blame] | 30 | ;; |
| 31 | esac |
| 32 | ;; |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 33 | esac |
| 34 | ;; |
| 35 | "script") |
| 36 | case "${BUILD_SYSTEM}" in |
| 37 | "cmake") |
| 38 | mkdir builddir && cd builddir |
Evan Nemerson | 03657e8 | 2016-07-28 13:31:09 -0700 | [diff] [blame] | 39 | 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 Kyle | 67f059e | 2018-09-27 10:00:33 +0100 | [diff] [blame] | 43 | 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 Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 46 | ;; |
| 47 | "python") |
Cosimo Lupo | 4f455ca | 2017-08-23 19:45:13 +0100 | [diff] [blame] | 48 | python setup.py test |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 49 | ;; |
Eugene Kliuchnikov | ee5c719 | 2017-03-22 19:13:59 +0100 | [diff] [blame] | 50 | "maven") |
| 51 | cd java/org/brotli |
| 52 | mvn install && cd integration && mvn verify |
| 53 | ;; |
Eugene Kliuchnikov | 2d6b298 | 2017-11-30 20:54:04 +0100 | [diff] [blame] | 54 | "autotools") |
| 55 | ./bootstrap && ./configure && make |
| 56 | ;; |
Eugene Kliuchnikov | 4f8cd4c | 2017-09-26 13:49:30 +0200 | [diff] [blame] | 57 | "fuzz") |
| 58 | ./c/fuzz/test_fuzzer.sh |
| 59 | ;; |
Eugene Kliuchnikov | 22421eb | 2017-03-23 13:35:53 +0100 | [diff] [blame] | 60 | "bazel") |
Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 61 | 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 Kliuchnikov | 22421eb | 2017-03-23 13:35:53 +0100 | [diff] [blame] | 66 | ;; |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 67 | esac |
| 68 | ;; |
| 69 | "after_success") |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 70 | ;; |
Eugene Kliuchnikov | 187904a | 2017-03-24 12:54:20 +0100 | [diff] [blame] | 71 | "before_deploy") |
| 72 | case "${BUILD_SYSTEM}" in |
| 73 | "bazel") |
Eugene Kliuchnikov | 187904a | 2017-03-24 12:54:20 +0100 | [diff] [blame] | 74 | export RELEASE_DATE=`date +%Y-%m-%d` |
Eugene Kliuchnikov | 6ece1d8 | 2017-04-23 14:07:08 +0200 | [diff] [blame] | 75 | perl -p -i -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' scripts/.bintray.json |
Eugene Kliuchnikov | 03739d2 | 2017-05-29 17:55:14 +0200 | [diff] [blame] | 76 | zip -j9 brotli.zip bazel-bin/libbrotli*.a bazel-bin/libbrotli*.so bazel-bin/brotli |
Eugene Kliuchnikov | 187904a | 2017-03-24 12:54:20 +0100 | [diff] [blame] | 77 | ;; |
| 78 | esac |
| 79 | ;; |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 80 | esac |