Constraint Emscripten publish step to Ubuntu runs.

More detailed comments for public step and for unit-test retry logic.
Reordered caching steps alphabetically.
This commit is contained in:
Bob Summerwill 2016-08-01 22:04:56 -07:00
parent 85a61fe886
commit 46be8bcda8
2 changed files with 58 additions and 17 deletions

View File

@ -68,12 +68,11 @@ git:
cache: cache:
ccache: true ccache: true
directories: directories:
- cryptopp
- boost_1_57_0
- build - build
- build-emscripten - build-emscripten
- boost_1_57_0
- jsoncpp - jsoncpp
- cryptopp
install: install:
- ./scripts/install_deps.sh - ./scripts/install_deps.sh
@ -87,13 +86,34 @@ before_script:
&& ./scripts/release.sh $ZIP_SUFFIX && ./scripts/release.sh $ZIP_SUFFIX
script: script:
# There are a variety of reliability issues with the Solidity unit-tests at the time of # There are a variety of reliability issues with the Solidity unit-tests at the time of
# writing, so we're actually running them 3 times in a row, to try to flush all of these # writing (especially on macOS), so within TravisCI we will try to run the unit-tests
# issues out as quickly as possible. See https://github.com/ethereum/solidity/issues/769 # up to 3 times before giving up and declaring the tests as broken.
#
# We should aim to remove this "retry logic" as soon as we can, because it is a
# band-aid for issues which need solving at their root. Some of those issues will be
# in Solidity's RPC setup and some will be in 'eth'. It seems unlikely that Solidity
# itself is broken from the failure messages which we are seeing.
#
# More details on known issues at https://github.com/ethereum/solidity/issues/769
- cd $TRAVIS_BUILD_DIR && (./scripts/tests.sh || ./scripts/tests.sh || ./scripts/tests.sh) - cd $TRAVIS_BUILD_DIR && (./scripts/tests.sh || ./scripts/tests.sh || ./scripts/tests.sh)
env: env:
global: global:
- ENCRYPTION_LABEL="296c219a3f41" - ENCRYPTION_LABEL="296c219a3f41"
# This is the deploy target for the Emscripten build.
# It publishes the JS file which was compiled as part of the earlier 'build_emscripten.sh'
# step to https://github.com/ethereum/solc-bin/tree/gh-pages/bin.
# Both the build and deploy steps for Emscripten are only run within the Ubuntu
# configurations (not for macOS). That is controlled by conditionals within the bash
# scripts because TravisCI doesn't provide much in the way of conditional logic.
deploy:
provider: script
script: scripts/release_emscripten.sh
skip_cleanup: true
on:
branch: develop
# This is the deploy target for the native build (Linux and macOS) # This is the deploy target for the native build (Linux and macOS)
# which generates development ZIPs per commit. We are in agreement # which generates development ZIPs per commit. We are in agreement
# that this is probably noisy overkill, so will want to renable this # that this is probably noisy overkill, so will want to renable this
@ -110,15 +130,3 @@ env:
# repo: ethereum/solidity # repo: ethereum/solidity
# branch: develop # branch: develop
# This is the deploy target for the Emscripten build, which publishes
# generated JS for particular Solidity commits into
# https://github.com/ethereum/solc-bin/tree/gh-pages/bin
# Disabled, but can be renamed when we have the "standalone" changes
# published back into the 'develop' branch.
#
deploy:
provider: script
script: scripts/travis-emscripten/publish_binary.sh
skip_cleanup: true
on:
branch: develop

33
scripts/release_emscripten.sh Executable file
View File

@ -0,0 +1,33 @@
#!/usr/bin/env bash
#------------------------------------------------------------------------------
# Bash script which calls the Emscripten "publish binary" script on Ubuntu
# and does nothing on macOS. We should probably merge these two scripts in
# the near future.
#
# The documentation for solidity is hosted at:
#
# https://solidity.readthedocs.org
#
# ------------------------------------------------------------------------------
# This file is part of solidity.
#
# solidity is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# solidity is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with solidity. If not, see <http://www.gnu.org/licenses/>
#
# (c) 2016 solidity contributors.
#------------------------------------------------------------------------------
if [[ "$OSTYPE" != "darwin"* ]]; then
./scripts/travis-emscripten/publish_binary.sh
fi