diff --git a/.travis.yml b/.travis.yml index 7ae0c9141..a83ed864e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,32 +17,17 @@ matrix: - ./scripts/coverage.sh - bash <(curl -s https://codecov.io/bash) - os: linux - env: V=0.15.0 + env: V=0.16.0 before_install: # Install Bazel - - | + - | if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then OS=darwin else sysctl kernel.unprivileged_userns_clone=1 OS=linux fi - if [[ "${V}" == "HEAD" ]]; then - # Determine last successful build number. This may change while we are - # downloading, so it's important to determine ahead of time, in case - # we need to resume the download. - CI_BASE="http://ci.bazel.io/view/Bazel%20bootstrap%20and%20maintenance/job/Bazel/PLATFORM_NAME=${OS}-x86_64/" - CI_INDEX_URL="${CI_BASE}/lastSuccessfulBuild/" - wget -q -O build-index.html "${CI_INDEX_URL}" - CI_BUILD=$(grep '' build-index.html | sed -e 's/^.*#\([0-9]*\).*$/\1/') - # Determine the artifact name. This is normally, bazel--installer.sh, - # but it may be, for example, bazel-0.5rc2-installer.sh before a release. - CI_ARTIFACT=$(grep -o 'bazel-[^\"-]*-installer.sh' build-index.html | head -n 1) - URL="${CI_BASE}/${CI_BUILD}/artifact/output/ci/${CI_ARTIFACT}" - rm build-index.html - else - URL="https://github.com/bazelbuild/bazel/releases/download/${V}/bazel-${V}-installer-${OS}-x86_64.sh" - fi + URL="https://github.com/bazelbuild/bazel/releases/download/${V}/bazel-${V}-installer-${OS}-x86_64.sh" wget -O install.sh "${URL}" chmod +x install.sh ./install.sh --user @@ -79,19 +64,48 @@ matrix: # Shutdown must be last. - bazel shutdown + - os: osx + env: V=0.16.0 + before_install: + # Install Bazel + - | + if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then + OS=darwin + else + sysctl kernel.unprivileged_userns_clone=1 + OS=linux + fi + URL="https://github.com/bazelbuild/bazel/releases/download/${V}/bazel-${V}-installer-${OS}-x86_64.sh" + wget -O install.sh "${URL}" + chmod +x install.sh + ./install.sh --user + rm -f install.sh + # Decrypt service account (only works on prysmaticlabs branches) + # TODO(#282): enable remote caching / execution + #- if [[ $encrypted_64ca747eb448_iv ]]; then + # openssl aes-256-cbc -K $encrypted_64ca747eb448_key -iv $encrypted_64ca747eb448_iv + # -in service-account.json.enc -out /tmp/service-account.json -d; + # REMOTE_FLAGS=--config=remote; + # fi - notifications: - email: false + install: true # Skip install go packages. - after_success: - - wget https://raw.githubusercontent.com/k3rn31p4nic/travis-ci-discord-webhook/master/send.sh - - chmod +x send.sh - - ./send.sh success $WEBHOOK_URL - after_failure: - - wget https://raw.githubusercontent.com/k3rn31p4nic/travis-ci-discord-webhook/master/send.sh - - chmod +x send.sh - - ./send.sh failure $WEBHOOK_URL + script: + # Ensure everything builds. + - | + bazel \ + --bazelrc=.travis-bazelrc \ + build \ + //... + # Run all tests. + - | + bazel \ + --bazelrc=.travis-bazelrc \ + test \ + //... $REMOTE_FLAGS + # Shutdown must be last. + - bazel shutdown - language: node_js os: linux env: @@ -104,3 +118,15 @@ matrix: script: # Check solidity linter. - solium -d contracts/ + + notifications: + email: false + + after_success: + - wget https://raw.githubusercontent.com/k3rn31p4nic/travis-ci-discord-webhook/master/send.sh + - chmod +x send.sh + - ./send.sh success $WEBHOOK_URL + after_failure: + - wget https://raw.githubusercontent.com/k3rn31p4nic/travis-ci-discord-webhook/master/send.sh + - chmod +x send.sh + - ./send.sh failure $WEBHOOK_URL \ No newline at end of file