diff options
author | Joshua Haberman <jhaberman@gmail.com> | 2019-04-24 17:36:17 +0000 |
---|---|---|
committer | Joshua Haberman <jhaberman@gmail.com> | 2019-04-24 17:36:17 +0000 |
commit | 985145ca16e4926420416e3a5f41f3e6e736c590 (patch) | |
tree | 5828b42ca49dbf656b651770714375620a720639 /travis.sh | |
parent | d6e466e943f4454396a3d1f8001e927bfb740213 (diff) |
Fixed amalgamation and CMake build.
Diffstat (limited to 'travis.sh')
-rwxr-xr-x | travis.sh | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/travis.sh b/travis.sh deleted file mode 100755 index e8323df..0000000 --- a/travis.sh +++ /dev/null @@ -1,196 +0,0 @@ -#!/bin/bash - -install_protoc() { - sudo apt-get install protobuf-compiler - protoc --version || true -} - -# Bare build: no dependencies installed, no JIT enabled. -bare_install() { - : -} -bare_script() { - make -j12 tests - make test -} - -# Bare JIT build: no dependencies installed, but JIT enabled. -barejit_install() { - : -} -barejit_script() { - make -j12 tests WITH_JIT=yes - make test -} - -# Build with strict warnings. -warnings_install() { - : -} -warnings_script() { - make -j12 default WITH_MAX_WARNINGS=yes - make -j12 tests WITH_MAX_WARNINGS=yes - make test -} - -# A 32-bit build. Can only test the core because any dependencies -# need to be available as 32-bit libs also, which gets hairy fast. -# Can't enable the JIT because it only supports x64. -core32_install() { - sudo apt-get update -qq - sudo apt-get install libc6-dev-i386 g++-multilib -} -core32_script() { - make -j12 tests USER_CPPFLAGS="$USER_CPPFLAGS -m32" - make test -} - -# A build of Lua and running of Lua tests. -lua_install() { - sudo apt-get update -qq - sudo apt-get install lua5.2 liblua5.2-dev -} -lua_script() { - make -j12 testlua USER_CPPFLAGS="$USER_CPPFLAGS `pkg-config lua5.2 --cflags`" -} - -# Test that generated files don't need to be regenerated. -# -# We would include the Ragel output here too, but we can't really guarantee -# that its output will be stable for multiple versions of the tool, and we -# don't want the test to be brittle. -genfiles_install() { - sudo apt-get update -qq - sudo apt-get install lua5.2 liblua5.2-dev - - # Need a recent version of protoc to compile proto3 files. - # .travis.yml will add this to our path - mkdir protoc - cd protoc - wget https://github.com/google/protobuf/releases/download/v3.0.0-beta-2/protoc-3.0.0-beta-2-linux-x86_64.zip - unzip protoc-3.0.0-beta-2-linux-x86_64.zip - cd .. -} -genfiles_script() { - protoc --version || true - - # Avoid regenerating descriptor.pb, since its output can vary based on the - # version of protoc. - touch upb/descriptor/descriptor.pb - - make -j12 genfiles USER_CPPFLAGS="$USER_CPPFLAGS `pkg-config lua5.2 --cflags`" - # Will fail if any differences were observed. - git diff --exit-code -} - -# Tests the ndebug build. -ndebug_install() { - sudo apt-get update -qq - sudo apt-get install lua5.2 liblua5.2-dev libprotobuf-dev - install_protoc -} -ndebug_script() { - # Override of USER_CPPFLAGS removes -UNDEBUG. - export USER_CPPFLAGS="`pkg-config lua5.2 --cflags` -g -fomit-frame-pointer" - make -j12 tests testlua WITH_JIT=yes - make test -} - -# Tests the amalgamated build (this ensures that the different .c files -# don't have symbols or macros that conflict with each other. -amalgamated_install() { - : -} -amalgamated_script() { - # Override of USER_CPPFLAGS removes -UNDEBUG. - export USER_CPPFLAGS="-UNDEBUG" - make amalgamated -} - -# A run that executes with coverage support and uploads to coveralls.io -coverage_install() { - sudo apt-get update -qq - sudo apt-get install libprotobuf-dev lua5.2 liblua5.2-dev - install_protoc - sudo pip install cpp-coveralls -} -coverage_script() { - export USER_CPPFLAGS="--coverage -O0 `pkg-config lua5.2 --cflags`" - make -j12 tests testlua WITH_JIT=yes - make test -} -coverage_after_success() { - coveralls --exclude dynasm --exclude tests --exclude upb/bindings/linux --gcov-options '\-lp' -} - -set -e -set -x - -if [ "$1" == "local" ]; then - run_config() { - make clean - echo - echo "travis.sh: TESTING CONFIGURATION $1 ===============================" - echo - UPB_TRAVIS_BUILD=$1 ./travis.sh script - } - # Run all configurations serially locally to test before pushing a pull - # request. - export CC=gcc - export CXX=g++ - run_config "bare" - run_config "barejit" - run_config "core32" - run_config "lua" - run_config "ndebug" - run_config "genfiles" - run_config "amalgamated" - exit -fi - -$CC --version -$CXX --version - -# Uncomment to enable uploading failure logs to S3. -# UPLOAD_TO_S3=true - -if [ "$1" == "after_failure" ] && [ "$UPLOAD_TO_S3" == "true" ]; then - # Upload failing tree to S3. - curl -sL https://raw.githubusercontent.com/travis-ci/artifacts/master/install | bash - PATH="$PATH:$HOME/bin" - export ARTIFACTS_BUCKET=haberman-upb-travis-artifacts2 - ARCHIVE=failing-artifacts.tar.gz - tar zcvf $ARCHIVE $(git ls-files -o) - artifacts upload $ARCHIVE - exit -fi - -if [ "$1" == "after_success" ] && [ "$UPB_TRAVIS_BUILD" != "coverage" ]; then - # after_success is only used for coverage. - exit -fi - -if [ "$CC" != "gcc" ] && [ "$UPB_TRAVIS_BUILD" == "coverage" ]; then - # coverage build only works for GCC. - exit -fi - -# Enable asserts and ref debugging (though some configurations override this). -export USER_CPPFLAGS="-UNDEBUG -DUPB_DEBUG_REFS -DUPB_THREAD_UNSAFE -DUPB_DEBUG_TABLE -g" - -if [ "$CC" == "gcc" ]; then - # For the GCC build test loading JIT code via SO. For the Clang build test - # loading it in the normal way. - export USER_CPPFLAGS="$USER_CPPFLAGS -DUPB_JIT_LOAD_SO" -fi - -# TODO(haberman): Test UPB_DUMP_BYTECODE? We don't right now because it is so -# noisy. - -# Enable verbose build. -export Q= - -# Make any compiler warning fail the build. -export UPB_FAIL_WARNINGS=true - -eval ${UPB_TRAVIS_BUILD}_${1} |