Merge pull request #788 from chriseth/emscrip

Fix emscripten build and add caches.
This commit is contained in:
chriseth 2016-08-01 16:54:19 +02:00 committed by GitHub
commit 74cb76d8fa
5 changed files with 24 additions and 21 deletions

View File

@ -70,6 +70,15 @@ matrix:
- ZIP_SUFFIX=osx-elcapitan
git:
depth: 2
cache:
ccache: true
directories:
- boost_1_57_0
- jsoncpp
- cryptopp
install:
- ./scripts/install_deps.sh
before_script:
@ -82,15 +91,9 @@ 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 5 times in a row, to try to flush all of these
# 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
- cd $TRAVIS_BUILD_DIR && ./scripts/tests.sh
- cd $TRAVIS_BUILD_DIR && ./scripts/tests.sh
- cd $TRAVIS_BUILD_DIR && ./scripts/tests.sh
- cd $TRAVIS_BUILD_DIR && ./scripts/tests.sh
- cd $TRAVIS_BUILD_DIR && ./scripts/tests.sh
after_success:
- cd $TRAVIS_BUILD_DIR && ./scripts/docs.sh
- cd $TRAVIS_BUILD_DIR && (./scripts/tests.sh || ./scripts/tests.sh || ./scripts/tests.sh)
env:
global:
- ENCRYPTION_LABEL="296c219a3f41"

View File

@ -26,7 +26,9 @@
# (c) 2016 solidity contributors.
#------------------------------------------------------------------------------
set -e
if [[ "$OSTYPE" != "darwin"* ]]; then
./scripts/travis-emscripten/install_deps.sh \
&& docker run -v $(pwd):/src trzeci/emscripten:sdk-tag-1.35.4-64bit ./scripts/travis-emscripten/build_emscripten.sh
./scripts/travis-emscripten/install_deps.sh
docker run -v $(pwd):/src trzeci/emscripten:sdk-tag-1.35.4-64bit ./scripts/travis-emscripten/build_emscripten.sh
fi

View File

@ -26,6 +26,8 @@
# (c) 2016 solidity contributors.
#------------------------------------------------------------------------------
set -e
# There is an implicit assumption here that we HAVE to run from root directory.
REPO_ROOT=$(pwd)
@ -59,7 +61,9 @@ while [ ! -S /tmp/test/geth.ipc ]; do sleep 2; done
# need to check if this command-line support works for Windows too, when we
# have implemented IPC Sockets support at all for Windows.
export ETH_TEST_IPC=/tmp/test/geth.ipc
$REPO_ROOT/build/test/soltest
"$REPO_ROOT"/build/test/soltest
ERROR_CODE=$?
pkill eth
pkill eth || true
sleep 4
pgrep eth && pkill -9 eth || true
exit $ERROR_CODE

View File

@ -124,11 +124,8 @@ emcmake cmake \
..
emmake make -j 4
# TODO - This is a temporary solution to the permissions issue which we are seeing in TravisCI,
# where this Emscripten build generates files which the main build then cannot delete.
# Presumably different accounts being used? This needs wrapping in some conditional, so we
# can choose to build, or build-and-clean.
cd ..
cp build/solc/soljson.js ./
rm -rf build
echo -en 'travis_fold:end:compiling_solidity\\r'

View File

@ -30,15 +30,11 @@
set -e
cd solidity
VER=$(cat CMakeLists.txt | grep 'set(PROJECT_VERSION' | sed -e 's/.*set(PROJECT_VERSION "\(.*\)".*/\1/')
test -n "$VER"
VER="v$VER"
COMMIT=$(git rev-parse --short HEAD)
DATE=$(date --date="$(git log -1 --date=iso --format=%ad HEAD)" --utc +%F)
cp build/solc/soljson.js "../soljson-$VER-$DATE-$COMMIT.js"
cd ..
ENCRYPTED_KEY_VAR="encrypted_${ENCRYPTION_LABEL}_key"
ENCRYPTED_IV_VAR="encrypted_${ENCRYPTION_LABEL}_iv"
@ -60,7 +56,8 @@ if ls ./bin/soljson-"$VER-$DATE"-*.js ./bin/soljson-*-"$COMMIT.js" > /dev/null
then
true
else
cp ../soljson-*.js ./bin/
# This file is assumed to be the product of the build_emscripten.sh script.
cp ../soljson.js ./bin/"soljson-$VER-$DATE-$COMMIT.js"
./update-index.sh
cd bin
LATEST=$(ls -r soljson-v* | head -n 1)