2018-05-29 01:35:06 -04:00
|
|
|
language: c++
|
2018-06-19 06:54:24 -04:00
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- master
|
2018-05-29 03:09:49 -04:00
|
|
|
cache:
|
2018-05-29 05:08:11 -04:00
|
|
|
ccache: true
|
2018-05-29 03:09:49 -04:00
|
|
|
directories:
|
2018-06-22 09:30:35 -04:00
|
|
|
- src/js/node_modules/
|
2018-06-19 06:54:24 -04:00
|
|
|
- $DEPOT_TOOLS_PATH
|
|
|
|
- $BUILD_PATH
|
2018-05-23 14:29:14 -04:00
|
|
|
env:
|
|
|
|
global:
|
2018-06-19 06:54:24 -04:00
|
|
|
- BUILD_PATH=$HOME/out/Default
|
|
|
|
- DEPOT_TOOLS_PATH=$HOME/depot_tools
|
2018-05-23 14:29:14 -04:00
|
|
|
before_install: |
|
2018-06-19 06:54:24 -04:00
|
|
|
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
|
2018-05-23 14:29:14 -04:00
|
|
|
fi
|
2018-05-14 03:06:09 -04:00
|
|
|
install:
|
2018-06-19 06:54:24 -04:00
|
|
|
- export PATH=$PATH:$DEPOT_TOOLS_PATH
|
2018-06-22 09:30:35 -04:00
|
|
|
- cd src
|
2018-06-19 06:54:24 -04:00
|
|
|
# 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
|
|
|
|
- (cd js; yarn)
|
|
|
|
- gclient sync -j2 --no-history
|
|
|
|
# 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.
|
2018-06-23 03:42:06 -04:00
|
|
|
- ninja -j2 -C $BUILD_PATH mock_runtime_test mock_main
|
|
|
|
- ninja -j2 -C $BUILD_PATH deno
|
2018-05-14 03:06:09 -04:00
|
|
|
script:
|
2018-06-19 06:54:24 -04:00
|
|
|
- $BUILD_PATH/mock_runtime_test
|
2018-06-23 03:42:06 -04:00
|
|
|
- $BUILD_PATH/mock_main foo bar
|
|
|
|
- $BUILD_PATH/deno meow
|