language: go go_import_path: github.com/prysmaticlabs/prysm sudo: false matrix: include: - os: linux go: 1.10.x env: - lint script: - go get github.com/alecthomas/gometalinter && gometalinter --install && gometalinter ./... --deadline=10m --exclude=client/internal/client_helper.go - os: linux env: - todos install: true # Skip installing go packages script: - ./scripts/check-todo.sh - os: linux env: - coverage script: - ./scripts/coverage.sh - bash <(curl -s https://codecov.io/bash) - os: linux env: V=0.17.1 before_install: # Install Bazel - | echo "" >> WORKSPACE echo "go_register_toolchains(go_version = \"host\")" >> WORKSPACE 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 install: true # Skip install go packages. script: # Ensure everything builds. - | bazel \ --bazelrc=.travis-bazelrc \ build \ //... # Run all tests. - | bazel \ --bazelrc=.travis-bazelrc \ test \ //... # Check that BUILD files are formatted correctly. - ./scripts/check_gazelle.sh # Check that target visibility is correct. - ./scripts/check_visibility.sh # Shutdown must be last. - bazel shutdown - os: osx env: V=0.17.1 before_install: # Install Bazel - | echo "" >> WORKSPACE echo "go_register_toolchains(go_version = \"host\")" >> WORKSPACE 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 install: true # Skip install go packages. script: # Ensure everything builds. - | bazel \ --bazelrc=.travis-bazelrc \ build \ //... # Run all tests. - | bazel \ --bazelrc=.travis-bazelrc \ test \ //... # Shutdown must be last. - bazel shutdown - language: node_js os: linux env: - solidity node_js: - "lts/*" before_install: - npm install -g solium install: true # Skip npm install. 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