0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-01 20:25:12 -05:00
denoland-deno/.travis.yml
Bert Belder 1cd18a9ac6
ci: run benchmarks before attempting to deploy them to github pages
The 'script' key in the deploy section that is supposed to run the
benchmarks isn't doing anything. Because of this, Travis bumps its head
when trying to deploy a non-existing directory to github pages, which
makes that our master branch is now consistently red.

This patch restores the setup that worked before.

This partially reverts commit aa66ef98ea.
2018-12-20 03:29:12 +01:00

118 lines
4.6 KiB
YAML

# Copyright 2018 the Deno authors. All rights reserved. MIT license.
language: c++
matrix:
include:
- os: linux
env: BENCHMARK=1
sudo: required
- os: osx
env:
global:
- CARGO_HOME=$TRAVIS_BUILD_DIR/third_party/rust_crates/
- RUSTUP_HOME=$HOME/.rustup/
- RUST_BACKTRACE=1
- CARGO_TARGET_DIR=$HOME/target
- PATH=$TRAVIS_BUILD_DIR/third_party/llvm-build/Release+Asserts/bin:$CARGO_HOME/bin:$PATH
- RUSTC_WRAPPER=sccache
- SCCACHE_BUCKET=deno-sccache
- AWS_ACCESS_KEY_ID=AKIAIVRN52PLDBP55LBQ
# AWS_SECRET_ACCESS_KEY=...
- secure: "ugSLNiUOQs53Oyy78EQyr2bu+//uoskbuoucenUUHM5I11M15yq1XuBJ26fIK1Jatza9pOGJNI8+4dSMWZW1GMFqgOZTKXv4kZFqU915/L1gsfS2bljB8pD1Qoq68ieGCQ49vBSFOWP24gtWBfKVJqU3HGHJgA5Ia/ujW3e37jr20xGqaBEcTjgin2fjm7VTao+hOOAMf47YkZNTEuLEHVPbDZM2tCCSlUdLpdyPB6mzX7XVmRxO26mtaHEeecivtaS6xXJXmns7OkntOzwgJi46B5uMgZz42UZ9qy1fCq8yCOyADb/Hu2WaJm7MIehHVhdC/siRzUUSOJ4N9gOPaFFAy5D28sDEa/IvlVriOwXirmDdPSlkTpwZ1NiisZXdZMaK6CWroaCHv9hYrJ7wKcntLQjLnnnskcyqxIVC7uEdlKHyLTNziyxol6oU/2Ym1NDoYWPDzcIeCkCr+xBapLXTVcg60YvcL/h+6wy5rp1v2h9R5B8HCCvmyc2X/FyaAmi8P7DYYHQL8+g+B0nGmzrrSGJzsEL7vChyiKfeNG7nnJKrU1+V8/+bPGsuPOK1XDTx80Uq56EzjHUPXy59zqtYL7ZZAIL0BQPxgm43yUCJfYSIKiwB9Odu+vb2DLDk5CLi45OHh2K7yi9m/lxlXla945az5OYO2l7a5m7rWF8="
cache:
directories:
- "$RUSTUP_HOME"
- $CARGO_HOME/registry/index/
- $CARGO_HOME/registry/cache/
- prebuilt/
- third_party/v8/build/linux/debian_sid_amd64-sysroot/
- third_party/v8/third_party/llvm-build/
install:
- nvm install v8
- nvm use --delete-prefix v8
- node -v
- |-
# Install Rust.
# TODO(ry) Include rustc in third_party.
# https://github.com/denoland/deno/issues/386
if [ ! $(rustc --version | grep 1.30.0) ]; then
curl -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.30.0
rustup default 1.30.0
fi
rustc --version
cargo --version
- |-
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export PATH="`pwd`/prebuilt/mac:$PATH"
else
export PATH="`pwd`/prebuilt/linux64:$PATH"
fi
- |-
# Remove unnnecessary cargo and rustup directories.
# This keeps the Travis CI cache small and fast.
rm -rf "$RUSTUP_HOME"downloads
rm -rf "$RUSTUP_HOME"tmp
rm -rf "$RUSTUP_HOME"toolchains/*/etc
rm -rf "$RUSTUP_HOME"toolchains/*/share
before_script:
- ./tools/setup.py
# Start sccache, then throw away the S3 access key.
- |-
sccache --start-server
unset AWS_SECRET_ACCESS_KEY
script:
- |-
# Check lint and format.
set -e # Fail immediately if any of the following fail.
./tools/lint.py
./tools/test_format.py
- |-
# LSAN build. We are in the process of getting a completely clean LSAN build,
# but it will take some work. So for now we just run a subset of the tests.
echo is_asan=true >> target/debug/args.gn
echo is_lsan=true >> target/debug/args.gn
# We want to detect leaks during the build process as well as when executing
# the tests. So set the ASAN_OPTIONS env var before build.py is run.
export ASAN_OPTIONS=detect_leaks=1
./tools/build.py -C target/debug -j2 test_cc
./target/debug/test_cc
- |-
# Build deno.exe with Cargo first. Both builds write their output to the same
# directory. We want the final one (which gets tested and released) to be
# built by Ninja.
cargo build --release -vv -j2
- |-
# Release build and test
./tools/build.py -C target/release -j2
DENO_BUILD_MODE=release ./tools/test.py
- sccache --stop-server
after_success:
- |
# Run benchmarks and publish the result to github pages.
if [ $BENCHMARK ]; then
./tools/benchmark.py target/release &&
cp -r website/* gh-pages/
fi
before_deploy:
- gzip -c target/release/deno > target/release/deno_${TRAVIS_OS_NAME}_x64.gz
deploy:
- provider: releases
api_key: &github-token
secure: RIwv515oDcPAlEvt7uG8FeSFi6Tz6ODJUOXcFj6FYUPszxJ7Cg1kBLKln+fNW5OeOc52VsaZb/vPZ85skyEM6zk2ijL9FcSnnfNEm548w77iH6G0sk09NgBTy6KRXES6NZHD9jN1YTWYkT2G1NQi7mLqxR8a8pnWTbeK5HhtSWGsZPtXqf5iQbvnWsmKA0/w+FIgKupU0xe/qsYjh0eMLYpZDUWoKO0VxBKJ/ix5Uz91aJTjMIcHHij+ALg4pk+FkDotdyx39XB9b25KDxGuaI7NxWjSPzDxs/ZBHP6QYDLO0ti93ftvLAxRoBKPFoZrXqAu3KG9anr9WvxE40DO9OdV0VX2ZUatMUQm3DpSheN8ml2sErFqjIInqlpkdOVDYORz7FikPxkb9DKt+iuyFfxPRa4YWJv2tg8+Hy/nRCQw69OoKqrSNJ8KJDB3OjYbRBtdHz79RLJhTsGZla6RiyXfM7crR7CbFjbwdbW3Pt60t24fhvXQ0SwR0QTgzS/ieYEQHq/9GtSQA/Tn4kdIkyN6BdOMrQd/aUtgKmNdqbSlfmWGNyNZIxHdB+3RrTNT1tagkRI4UHEUfEujpIdYKwLjv0Xmi/VtTM+zOSkzHsIWGPfHBmIGnXfAItUHqivQYJ15E+dzg3T1CEbBxkDQtvwien9Fa8/pBsMkyovl8ps=
file: "target/release/deno_${TRAVIS_OS_NAME}_x64.gz"
on:
tags: true
repo: denoland/deno
skip-cleanup: true
- provider: pages
github-token: *github-token
keep-history: true
local-dir: gh-pages
on:
branch: master
condition: $BENCHMARK == 1
repo: denoland/deno
skip-cleanup: true