Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Refactor travis: Build on minimal image #243

Merged
merged 8 commits into from
Jun 25, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 25 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,33 @@
sudo: false
language: rust
# Request an environment that provides sudo (that goes with larger containers)
# and a minimal language environment.
sudo: true
language: minimal

cache: cargo

branches:
only:
- master

cache: cargo
env:
global:
- RUST_BACKTRACE=1
matrix:
- RUST_TOOLCHAIN=nightly TARGET=wasm
- RUST_TOOLCHAIN=stable TARGET=native

matrix:
fast_finish: false
include:
- rust: stable
before_install:
# Check how much space we've got on this machine.
- df -h

script:
- cargo test --all
- cargo clean
- ./init.sh
- ./build.sh
- if [ "$TRAVIS_PULL_REQUEST" != "true" ] && [ "$TRAVIS_BRANCH" == "master" ]; then
./publish-wasm.sh;
- ./ci/script.sh

after_success:
- if [ "$TARGET" == "wasm" ] && [ "$TRAVIS_PULL_REQUEST" != "true" ] && [ "$TRAVIS_BRANCH" == "master" ]; then
./ci/publish-wasm.sh;
fi

after_script:
# Check how much free disk space left after the build
- df -h
2 changes: 1 addition & 1 deletion publish-wasm.sh → ci/publish-wasm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

set -e

source `dirname "$0"`/common.sh
source ./common.sh

if [ -z ${GH_TOKEN+x} ]; then
echo "GH_TOKEN environment variable is not set"
Expand Down
28 changes: 28 additions & 0 deletions ci/script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

set -eux

# Install rustup and the specified rust toolchain.
curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain=$RUST_TOOLCHAIN -y

# Load cargo environment. Specifically, put cargo into PATH.
source ~/.cargo/env

rustc --version
rustup --version
cargo --version

case $TARGET in
"native")
sudo apt-get -y update
sudo apt-get install -y cmake pkg-config libssl-dev

cargo test --all
;;

"wasm")
# Install prerequisites and build all wasm projects
./init.sh
./build.sh
;;
esac