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
|
- 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"
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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'
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user