mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 23:34:47 -05:00
50 lines
1.8 KiB
YAML
50 lines
1.8 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 mock_runtime_test deno_cc deno
|
|
script:
|
|
- $BUILD_PATH/mock_runtime_test
|
|
- $BUILD_PATH/deno_cc foo bar
|
|
- $BUILD_PATH/deno meow
|
|
- ./tools/lint.sh
|