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") |
Eugene Kliuchnikov | f83aa51 | 2020-03-31 14:38:01 +0200 | [diff] [blame] | 9 | brew update >/dev/null |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 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") |
Eugene Kliuchnikov | f83aa51 | 2020-03-31 14:38:01 +0200 | [diff] [blame] | 20 | brew cask install homebrew/cask-versions/adoptopenjdk8 |
Eugene Kliuchnikov | 22421eb | 2017-03-23 13:35:53 +0100 | [diff] [blame] | 21 | brew install bazel |
| 22 | ;; |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 23 | esac |
| 24 | ;; |
Evan Nemerson | d03c38d | 2017-02-19 01:06:13 -0800 | [diff] [blame] | 25 | "linux") |
| 26 | case "${CC}" in |
| 27 | "pgcc") |
Eugene Kliuchnikov | 29ad4db | 2017-03-23 16:23:57 +0100 | [diff] [blame] | 28 | 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 Nemerson | d03c38d | 2017-02-19 01:06:13 -0800 | [diff] [blame] | 31 | ;; |
| 32 | esac |
| 33 | ;; |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 34 | esac |
| 35 | ;; |
| 36 | "script") |
| 37 | case "${BUILD_SYSTEM}" in |
| 38 | "cmake") |
| 39 | mkdir builddir && cd builddir |
Evan Nemerson | 03657e8 | 2016-07-28 13:31:09 -0700 | [diff] [blame] | 40 | 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 Kyle | 67f059e | 2018-09-27 10:00:33 +0100 | [diff] [blame] | 44 | 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 Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 47 | ;; |
| 48 | "python") |
Cosimo Lupo | 4f455ca | 2017-08-23 19:45:13 +0100 | [diff] [blame] | 49 | python setup.py test |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 50 | ;; |
Eugene Kliuchnikov | ee5c719 | 2017-03-22 19:13:59 +0100 | [diff] [blame] | 51 | "maven") |
| 52 | cd java/org/brotli |
| 53 | mvn install && cd integration && mvn verify |
| 54 | ;; |
Eugene Kliuchnikov | 2d6b298 | 2017-11-30 20:54:04 +0100 | [diff] [blame] | 55 | "autotools") |
| 56 | ./bootstrap && ./configure && make |
| 57 | ;; |
Eugene Kliuchnikov | 4f8cd4c | 2017-09-26 13:49:30 +0200 | [diff] [blame] | 58 | "fuzz") |
| 59 | ./c/fuzz/test_fuzzer.sh |
| 60 | ;; |
Eugene Kliuchnikov | 22421eb | 2017-03-23 13:35:53 +0100 | [diff] [blame] | 61 | "bazel") |
Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 62 | 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 Kliuchnikov | 22421eb | 2017-03-23 13:35:53 +0100 | [diff] [blame] | 67 | ;; |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 68 | esac |
| 69 | ;; |
| 70 | "after_success") |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 71 | ;; |
Eugene Kliuchnikov | 187904a | 2017-03-24 12:54:20 +0100 | [diff] [blame] | 72 | "before_deploy") |
| 73 | case "${BUILD_SYSTEM}" in |
| 74 | "bazel") |
Eugene Kliuchnikov | 187904a | 2017-03-24 12:54:20 +0100 | [diff] [blame] | 75 | export RELEASE_DATE=`date +%Y-%m-%d` |
Eugene Kliuchnikov | 6ece1d8 | 2017-04-23 14:07:08 +0200 | [diff] [blame] | 76 | 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] | 77 | 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] | 78 | ;; |
| 79 | esac |
| 80 | ;; |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 81 | esac |