aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Summerwill <bob@summerwill.net>2016-08-02 13:04:56 +0800
committerBob Summerwill <bob@summerwill.net>2016-08-02 13:04:56 +0800
commit46be8bcda83b8a51823845acb36cd18f27fff9cc (patch)
treedb37618722ea2bed708ea7611275e8d95a388d66
parent85a61fe886c2d99d397bf30cc01d971558130287 (diff)
downloaddexon-solidity-46be8bcda83b8a51823845acb36cd18f27fff9cc.tar.gz
dexon-solidity-46be8bcda83b8a51823845acb36cd18f27fff9cc.tar.zst
dexon-solidity-46be8bcda83b8a51823845acb36cd18f27fff9cc.zip
Constraint Emscripten publish step to Ubuntu runs.
More detailed comments for public step and for unit-test retry logic. Reordered caching steps alphabetically.
-rw-r--r--.travis.yml42
-rwxr-xr-xscripts/release_emscripten.sh33
2 files changed, 58 insertions, 17 deletions
diff --git a/.travis.yml b/.travis.yml
index 2ec5bf46..1ee16333 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -68,12 +68,11 @@ git:
cache:
ccache: true
directories:
+ - cryptopp
+ - boost_1_57_0
- build
- build-emscripten
- - boost_1_57_0
- jsoncpp
- - cryptopp
-
install:
- ./scripts/install_deps.sh
@@ -87,13 +86,34 @@ before_script:
&& ./scripts/release.sh $ZIP_SUFFIX
script:
# 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
- # issues out as quickly as possible. See https://github.com/ethereum/solidity/issues/769
+ # writing (especially on macOS), so within TravisCI we will try to run the unit-tests
+ # 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)
env:
global:
- 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)
# which generates development ZIPs per commit. We are in agreement
# that this is probably noisy overkill, so will want to renable this
@@ -110,15 +130,3 @@ env:
# repo: ethereum/solidity
# 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
diff --git a/scripts/release_emscripten.sh b/scripts/release_emscripten.sh
new file mode 100755
index 00000000..8db9a049
--- /dev/null
+++ b/scripts/release_emscripten.sh
@@ -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