deno/.travis.yml
2018-07-13 14:38:50 -04:00

54 lines
1.9 KiB
YAML

language: c++
branches:
only:
- master
cache:
ccache: true
directories:
- third_party/node_modules/
- $DEPOT_TOOLS_PATH
- $BUILD_PATH
env:
global:
- BUILD_PATH=$HOME/out/Default
- DEPOT_TOOLS_PATH=$HOME/depot_tools
before_install: |
if ! [ -x $DEPOT_TOOLS_PATH/gclient ]; then
rm -rf $DEPOT_TOOLS_PATH
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $DEPOT_TOOLS_PATH
fi
install:
- export PATH=$PATH:$DEPOT_TOOLS_PATH
# Sync dependencies.
# TODO(ry) These sync steps are very terrible and only here temporarily.
# A single deno_deps git submodule should be created which contains V8,
# node_modules, depot_tools, rustc, and other deps.
# Building Deno *should not* depend on yarn, gclient, rustup, cargo, nor any
# internet connection.
- curl -sSf https://sh.rustup.rs | sh -s -- -y
- export PATH=$HOME/.cargo/bin:$PATH
- rustc --version
- ./tools/build_third_party.py
# ccache needs the custom LLVM to be in PATH and other variables.
- export PATH=`pwd`/third_party/llvm-build/Release+Asserts/bin:$PATH
- export CCACHE_CPP2=yes
- export CCACHE_SLOPPINESS=time_macros
# In case gn gen args change, delete args.gn to avoid using cached values.
- rm -f $BUILD_PATH/args.gn
# is_debug, use_allocator, and ccache are used to speed travis.
# use_custom_libcxx=false and use_sysroot=false seem to be required to build on
# Ubuntu 14.04
- gn gen $BUILD_PATH --args='is_debug=false use_allocator="none" cc_wrapper="ccache" use_custom_libcxx=false use_sysroot=false'
- gn args $BUILD_PATH --list
- ccache -s
# Travis hangs without -j2 argument to ninja.
- ninja -j2 -C $BUILD_PATH test_cc handlers_test deno_cc deno_cc_nosnapshot deno deno_nosnapshot
script:
- ./tools/lint.py
- $BUILD_PATH/test_cc
- $BUILD_PATH/handlers_test
- $BUILD_PATH/deno_cc foo bar
- $BUILD_PATH/deno_cc_nosnapshot foo bar
- $BUILD_PATH/deno meow
- $BUILD_PATH/deno_nosnapshot meow