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 - ZIP_SUFFIX=osx-elcapitan
git: git:
depth: 2 depth: 2
cache:
ccache: true
directories:
- boost_1_57_0
- jsoncpp
- cryptopp
install: install:
- ./scripts/install_deps.sh - ./scripts/install_deps.sh
before_script: before_script:
@ -82,15 +91,9 @@ 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 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 # 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 || ./scripts/tests.sh || ./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
env: env:
global: global:
- ENCRYPTION_LABEL="296c219a3f41" - ENCRYPTION_LABEL="296c219a3f41"

View File

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

View File

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

View File

@ -124,11 +124,8 @@ emcmake cmake \
.. ..
emmake make -j 4 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 .. cd ..
cp build/solc/soljson.js ./
rm -rf build rm -rf build
echo -en 'travis_fold:end:compiling_solidity\\r' echo -en 'travis_fold:end:compiling_solidity\\r'

View File

@ -30,15 +30,11 @@
set -e set -e
cd solidity
VER=$(cat CMakeLists.txt | grep 'set(PROJECT_VERSION' | sed -e 's/.*set(PROJECT_VERSION "\(.*\)".*/\1/') VER=$(cat CMakeLists.txt | grep 'set(PROJECT_VERSION' | sed -e 's/.*set(PROJECT_VERSION "\(.*\)".*/\1/')
test -n "$VER" test -n "$VER"
VER="v$VER" VER="v$VER"
COMMIT=$(git rev-parse --short HEAD) COMMIT=$(git rev-parse --short HEAD)
DATE=$(date --date="$(git log -1 --date=iso --format=%ad HEAD)" --utc +%F) 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_KEY_VAR="encrypted_${ENCRYPTION_LABEL}_key"
ENCRYPTED_IV_VAR="encrypted_${ENCRYPTION_LABEL}_iv" 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 then
true true
else 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 ./update-index.sh
cd bin cd bin
LATEST=$(ls -r soljson-v* | head -n 1) LATEST=$(ls -r soljson-v* | head -n 1)