diff --git a/.travis.yml b/.travis.yml index c116f1b22..9c3839965 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,10 +26,20 @@ language: cpp branches: + # We need to whitelist the branches which we want to have "push" automation. + # Pull requests will be built whatever the branches are for them. only: - develop - release - - standalone + + # This blacklisting is an (unsuccessful) attempt to filter out some currently + # unexplained 'untagged' builds which are endemic in bobsummerwill/cpp-ethereum + # in my 'merge_repos' branch. I suspect that these are rogue tags which + # are being created by Appveyor as part of the Github Releases flow, but + # I haven't pinned it down yet. + # + # See https://github.com/ethereum/webthree-umbrella/issues/697 + # See https://twitter.com/BobSummerwill/status/762802834857340929 except: - /develop-v[0-9]/ matrix: @@ -137,6 +147,34 @@ deploy: # 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. + # + # TODO - I do not know if the api_key below which work correctly + # for ethereum/solidity. I suspect not, for the same reason as + # my auth token does not work for Appveyor. I don't have enough + # permissions to enable this myself. Christian should be able to. + # + # 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: mGeDrlCbhPNQVqrk5wSqFZe/7C5HUIBWcZECJcFrEldN6ELj3a8mhDX9EWebidyFmZsf3ipKVMycJtXZHlH2kVZ0nZdRulq4bYhLiUFRaFQCHMW35dml5mxO/FPp+jhhZaylDUx+cI6AULbj8DvNFqSCfjx8qimRhJjRY4JHeG71N6g5+LU2/dA01D4Y97BUbQ5dYcmEyuEsriSpXOElIQIIv3+Q6MJNnLzxUA6EXsp4Qt3Qf3R1+EkI/RWOPbQsddpFNJBcBNOscCUFSZV3+ZK9E2RyHbPaL+Da4aJKVpgD7X1TFudq4PClMUTkg8CuJh/kvy9wkpaWyYHbLGQqu1vQ+NQ+vlTAKf8U+1xhC1IkX6nA+g4TlRksZRltRhpkBPnFoaQQGjD9eYyT1V/Htrn8Y/VGbYPBVa0GcEYXG5pDCBPz91RBpYwDcyUg9DEPNI6zYfQY8jA8xqtFwPX79Y22MDXIKhBskK00geuzh7Npy5Rnh4fLqVKMlffvYx3kwp444EFWtQ5jxbRCym2Th6EldkOM8Kble1JvixQtVb4s+DpTuwHCTrXZhwMuJpmwgRx52zyIsGrBPF3MOmdlwl+l0TD8UEJXt0JM1XSF1AROyYwXKDZQ9Qt4sd9ZKSWWaLJMEJf4kkZWYgTEI/FhOWlfshQCt8Z9S9r4fq2ywoo=