mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #788 from chriseth/emscrip
Fix emscripten build and add caches.
This commit is contained in:
commit
74cb76d8fa
19
.travis.yml
19
.travis.yml
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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'
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user