# Aleth: Ethereum C++ client, tools and libraries. # Copyright 2014-2019 Aleth Authors. # Licensed under the GNU General Public License, Version 3. language: cpp branches: # We need to whitelist the branches which we want to have "push" automation. # Pull request automation is not constrained to this set of branches. only: - develop - release - /travis/ - hunter env: global: - TRAVIS_BUILD_TYPE=RelWithDebInfo - TRAVIS_TESTS=On - secure: "Nm9HEvhW8wtbF9v44g2Vo2CfX8cFlw3UWutHMmVl5nrcri34BVPXulsPF3CrIdoGgdBQvGxzNmbmAgi0KokaWhLZ2WvuDUXRAU8wuU3SB/AV7hNIGFZDqgk1LBBzwaFngqDCqqIQ29v2Z59s3y8qakmPQbR8eNJ1YAc2F9O8iVI=" matrix: include: - os: linux dist: trusty sudo: required node_js: - "8" env: - ZIP_SUFFIX=ubuntu-trusty # - os: osx # osx_image: xcode9 # env: # - TRAVIS_TESTS=Off # - ZIP_SUFFIX=macos-sierra git: depth: 2 cache: ccache: true directories: - ~/.ethash - ~/.local - ~/Library/Caches/Homebrew # Cache whole deps dir hoping you will not need to download and # build external dependencies next build. - $TRAVIS_BUILD_DIR/build/deps install: | if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./scripts/install_cmake.sh && ./scripts/install_solc_lllc.sh; pyenv local 3.6 pip install --user requests fi export HOMEBREW_NO_AUTO_UPDATE=1 before_script: - travis_wait 150 ./scripts/build.sh $TRAVIS_BUILD_TYPE - ./scripts/cleanup_ccache.sh script: - cd $TRAVIS_BUILD_DIR/build && ../scripts/tests.sh $TRAVIS_TESTS after_success: - pip install --user codecov - codecov deploy: # This is the deploy target for the native build (Linux and macOS) # which generates ZIPs per commit. We are in agreement that # generating ZIPs per commit for the develop branch is probably # just noise, so we only run this deployment target on 'release'. # # Unlike the Appveyor GitHub Releases target, the support in TravisCI # seemingly doesn't provide a means for passing a description, tag, etc. # In practice, we are letting the Appveyor CI do all that stuff, and # then this deployment flow just seems to find that most recent tag, # and just add our Linux and macOS ZIPs into the same tag, which is # what we want to happen. But is very accidental and brittle-looking. # # The 'skip_cleanup' stops the workspace being cleaned out prior to # generation of the artifacts. Strange that we should explicitly # need to do that, but we do. # # Tokens in TravisCI can be generated a few different ways. Bob had # success using the 'travis' gem, and then using that gem to # create/edit this .travis.yml file, and then cut-and-pasting the # good bits back out of what it generated. The gem changes all the # whitespace and deletes comments, so cannot be used as-is. But # it does generate an appropriate auth token. # # See https://docs.travis-ci.com/user/deployment/releases # See https://blog.travis-ci.com/2013-01-28-token-token-token/ # See https://github.com/ethereum/webthree-umbrella/issues/658 # - provider: releases api_key: secure: HHcAWFjVNwf8b83KVQnEa172Eo7aur+scVCq4BzgPDXnF+v4GDXT7PAaXyWBwIyrFoIJduPCojsiIBP8QZwtjaKgnywnREjaLc0syTCLSeUHcp/+jPRdickvfgHJWG06sU7ZST8/HnGmoOqV/BUlGhHiqma1oJfGEJ6aaG4oza77ZYAxLPxwq9NOuTHVGJwlphcfeevcU3F0C/mxDEEMEz66lDolp4DCP5L4muHlrOCZ+HSjRwz5/anVNVWNO/nM1I0wmI2TRAS0RPzwClVD8iiGJHhZ/WdgenG4nosBG9UQjd/56LLKI25bIJijz/tpe89pCRUJtMYtcXR5C7w8Is05a1GMedBAiT7Bu35qHbpxJeqcw26DJL4U3+IeHfymXpK/E3RAj16bj+mtxxYSEzaae7obCm1rDA1LnPTI94kAea2ZNOUucDK5FaROX/uBXk422xrQTdJpEpg4TLa7GmQGdtyJC0OnzaOTXWg87lbVMq1PndDLE3STqXT5J/wj/WfUtXlN38x9aX7wwrmyCXY3WJ1zzShAgRO9YjRRosMBkahGDj5l75w9KX8yW3C5txcxjPVGSxQIl+bv9FPrBJmU1WOOPYQlHm92JQJus8BXXQCuhg3mEsZQfmGpgrS82NUB15V1nZB3xCXniKcKnQirzbRXLg8wjlPbT9DKGbc= file: $TRAVIS_BUILD_DIR/cpp-ethereum-$ZIP_SUFFIX.zip skip_cleanup: true on: repo: ethereum/cpp-ethereum branch: release