summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Lin <robertlin1@gmail.com>2018-08-17 08:54:36 -0700
committerRyan Dahl <ry@tinyclouds.org>2018-08-17 11:54:36 -0400
commit87a061785e7ac795b9b3ef262d382dbfe6887eda (patch)
tree49cea41732d1babcc913dfeed18f476f886b382b
parente41ee9bf4c76ffadaca41ca8443f076e228f1c6b (diff)
Travis: publish from CI (#501)
Split travis build into stages, add release stage.
-rw-r--r--.travis.yml68
1 files changed, 48 insertions, 20 deletions
diff --git a/.travis.yml b/.travis.yml
index 5990e4960..dba863fc7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,14 +1,9 @@
language: c++
+
branches:
only:
- master
-cache:
- ccache: true
- directories:
- - $CARGO_PATH
- - $RUSTUP_PATH
- - third_party/v8/build/linux/debian_sid_amd64-sysroot/
- - third_party/v8/third_party/llvm-build/
+
env:
global:
- CARGO_PATH=$HOME/.cargo/
@@ -20,23 +15,56 @@ env:
- DENO_BUILD_ARGS="is_debug=false use_allocator=\"none\" use_custom_libcxx=false use_sysroot=false"
- DENO_BUILD_PATH=$HOME/out/Default
- DENO_BUILD_MODE=debug
-before_install: |
+ # ccache needs the custom LLVM to be in PATH and other variables.
+ - PATH=$TRAVIS_BUILD_DIR/third_party/llvm-build/Release+Asserts/bin:$CARGO_PATH/bin:$PATH
+ - CCACHE_CPP2=yes
+ - CCACHE_SLOPPINESS=time_macros
+
+cache:
+ ccache: true
+ directories:
+ - $CARGO_PATH
+ - $RUSTUP_PATH
+ - third_party/v8/build/linux/debian_sid_amd64-sysroot/
+ - third_party/v8/third_party/llvm-build/
+
+install: |
# Install Rust.
# TODO(ry) Include rustc in third_party https://github.com/denoland/deno/issues/386
- export PATH=$CARGO_PATH/bin:$PATH
rustc --version
if [ $? != 0 ]; then
curl -sSf https://sh.rustup.rs | sh -s -- -y
fi
-install:
- # 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
- - ccache -s
- - ./tools/setup.py
- # Travis hangs without -j2 argument to ninja.
- - ./tools/build.py -j2
+before_script:
+ - ccache -s
+ - ./tools/setup.py
script:
- - ./tools/lint.py
- - ./tools/test.py $DENO_BUILD_PATH
+ - ./tools/lint.py
+ - ./tools/build.py -j2
+ - ./tools/test.py $DENO_BUILD_PATH
+
+jobs:
+ include:
+ - stage: test
+
+ - stage: release
+ if: tag IS present
+ script: |
+ # build release binary
+ env DENO_BUILD_ARGS="use_custom_libcxx=false use_sysroot=false" \
+ DENO_BUILD_MODE=release \
+ ./tools/build.py -j2
+ # test release binary
+ env DENO_BUILD_MODE=release ./tools/tests.py
+ before_deploy: |
+ # gzip and name release to denote platform
+ gzip -c $DENO_BUILD_PATH/deno > $DENO_BUILD_PATH/deno_linux_x64.gz
+ deploy:
+ provider: releases
+ skip_cleanup: true
+ api_key:
+ secure: nm/XSUqQkucsgrTqHhZvVzzGrNsiagQyvy4ozqIcuI9BIENJ7upV2HKy0q+lE0j3iwTLXEVFEQ40hnG166nVTgVjIpxoGcVZvMTqAQFus9gVzbA71fAfAQL+nVlIRsdrSJOvsz1BHLKUgZ7UwyciApduaBDgm+mwXtMty5SHDotTc6mX4bz4UceMG4W7WXFcrWwWz+oFz9r8rYW1aKXcCQOms8eshbCtA3LzJtzUIN9NCE+bWf7QGRtz65aKy26MA/mTEAivQQ/J3ueXn4BzulpATHaSwOy5bvc2HGq5YjVJk1RQI7wqr4ONAtFWyMNAxB4JJ+g1XcN6oscoelpQgVWM2GxEblOZ+HSZAhpYiUuCQiKVe4eF238VQpn0BKw1dPEj1UWf5DHUMdcDFxeBfv1vIge5qhb+fpJTGKXfy91+DlwzM+JMBwqkXnuPFoPbh1lDLDKWB8UPGt07o+Y6tdZytr82kCoMaaHFqAVXYb0iBvG0Bw3WfzpwUsURGU08rw1pFnofnC74IyHGbcJ/+u39GzWTlCNGKce7OgEn16MzGe8QzpVmnO5+WX/uBhDHUyvDZkZHGZWHi19gQaUqDlZ4F3lSe4LMgpjEN23Ovv4AWT8bD2lbVr0XhsMlrcMw5n+RhjNDgadDw3dV9F2MHlZBpp1kYNaVqDkv5nIltYA=
+ file: "$DENO_BUILD_PATH/deno_linux_x64.gz"
+ on:
+ tags: true
+ repo: denoland/deno