mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #3474 from ethereum/circle2
Split emscripten circle job into build and test.
This commit is contained in:
commit
69e2f497ba
85
circle.yml
85
circle.yml
@ -5,21 +5,6 @@ jobs:
|
|||||||
- image: trzeci/emscripten:sdk-tag-1.37.21-64bit
|
- image: trzeci/emscripten:sdk-tag-1.37.21-64bit
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
|
||||||
name: Install external tests deps
|
|
||||||
command: |
|
|
||||||
apt-get -qq update
|
|
||||||
apt-get -qy install netcat curl
|
|
||||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | NVM_DIR=/usr/local/nvm bash
|
|
||||||
- run:
|
|
||||||
name: Test external tests deps
|
|
||||||
command: |
|
|
||||||
export NVM_DIR="/usr/local/nvm"
|
|
||||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
|
||||||
nvm --version
|
|
||||||
nvm install 6
|
|
||||||
node --version
|
|
||||||
npm --version
|
|
||||||
- run:
|
- run:
|
||||||
name: Init submodules
|
name: Init submodules
|
||||||
command: |
|
command: |
|
||||||
@ -40,14 +25,65 @@ jobs:
|
|||||||
key: *boost-cache-key
|
key: *boost-cache-key
|
||||||
paths:
|
paths:
|
||||||
- boost_1_57_0
|
- boost_1_57_0
|
||||||
|
- store_artifacts:
|
||||||
|
path: build/libsolc/soljson.js
|
||||||
|
destination: soljson.js
|
||||||
|
- run: mkdir -p workspace
|
||||||
|
- run: cp build/libsolc/soljson.js workspace/soljson.js
|
||||||
|
- run: scripts/get_version.sh > workspace/version.txt
|
||||||
|
- persist_to_workspace:
|
||||||
|
root: workspace
|
||||||
|
paths:
|
||||||
|
- soljson.js
|
||||||
|
- version.txt
|
||||||
|
test_emscripten_solcjs:
|
||||||
|
docker:
|
||||||
|
- image: trzeci/emscripten:sdk-tag-1.37.21-64bit
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- attach_workspace:
|
||||||
|
at: /tmp/workspace
|
||||||
- run:
|
- run:
|
||||||
name: Test
|
name: Install external tests deps
|
||||||
|
command: |
|
||||||
|
apt-get -qq update
|
||||||
|
apt-get -qy install netcat curl
|
||||||
|
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | NVM_DIR=/usr/local/nvm bash
|
||||||
|
export NVM_DIR="/usr/local/nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
|
nvm --version
|
||||||
|
nvm install 6
|
||||||
|
node --version
|
||||||
|
npm --version
|
||||||
|
- run:
|
||||||
|
name: Test solcjs
|
||||||
command: |
|
command: |
|
||||||
. /usr/local/nvm/nvm.sh
|
. /usr/local/nvm/nvm.sh
|
||||||
scripts/test_emscripten.sh
|
test/solcjsTests.sh /tmp/workspace/soljson.js $(cat /tmp/workspace/version.txt)
|
||||||
- store_artifacts:
|
test_emscripten_external:
|
||||||
path: build/solc/soljson.js
|
docker:
|
||||||
destination: soljson.js
|
- image: trzeci/emscripten:sdk-tag-1.37.21-64bit
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- attach_workspace:
|
||||||
|
at: /tmp/workspace
|
||||||
|
- run:
|
||||||
|
name: Install external tests deps
|
||||||
|
command: |
|
||||||
|
apt-get -qq update
|
||||||
|
apt-get -qy install netcat curl
|
||||||
|
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | NVM_DIR=/usr/local/nvm bash
|
||||||
|
export NVM_DIR="/usr/local/nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
|
nvm --version
|
||||||
|
nvm install 6
|
||||||
|
node --version
|
||||||
|
npm --version
|
||||||
|
- run:
|
||||||
|
name: External tests
|
||||||
|
command: |
|
||||||
|
. /usr/local/nvm/nvm.sh
|
||||||
|
test/externalTests.sh /tmp/workspace/soljson.js
|
||||||
build_x86:
|
build_x86:
|
||||||
docker:
|
docker:
|
||||||
- image: buildpack-deps:artful
|
- image: buildpack-deps:artful
|
||||||
@ -90,10 +126,19 @@ jobs:
|
|||||||
command: build/test/soltest --logger=JUNIT,test_suite,test_results/opt.xml -- --optimize --no-ipc
|
command: build/test/soltest --logger=JUNIT,test_suite,test_results/opt.xml -- --optimize --no-ipc
|
||||||
- store_test_results:
|
- store_test_results:
|
||||||
path: test_results/
|
path: test_results/
|
||||||
|
- store_artifacts:
|
||||||
|
path: build/solc/solc
|
||||||
|
destination: solc
|
||||||
|
|
||||||
workflows:
|
workflows:
|
||||||
version: 2
|
version: 2
|
||||||
build_all:
|
build_all:
|
||||||
jobs:
|
jobs:
|
||||||
- build_emscripten
|
- build_emscripten
|
||||||
|
- test_emscripten_solcjs:
|
||||||
|
requires:
|
||||||
|
- build_emscripten
|
||||||
|
- test_emscripten_external:
|
||||||
|
requires:
|
||||||
|
- build_emscripten
|
||||||
- build_x86
|
- build_x86
|
||||||
|
@ -30,32 +30,9 @@ set -e
|
|||||||
|
|
||||||
REPO_ROOT=$(cd $(dirname "$0")/.. && pwd)
|
REPO_ROOT=$(cd $(dirname "$0")/.. && pwd)
|
||||||
SOLJSON="$REPO_ROOT/build/libsolc/soljson.js"
|
SOLJSON="$REPO_ROOT/build/libsolc/soljson.js"
|
||||||
|
VERSION=$("$REPO_ROOT"/scripts/get_version.sh)
|
||||||
|
|
||||||
DIR=$(mktemp -d)
|
echo "Running solcjs tests...."
|
||||||
(
|
"$REPO_ROOT/test/solcjsTests.sh" "$SOLJSON" "$VERSION"
|
||||||
echo "Preparing solc-js..."
|
|
||||||
git clone --depth 1 https://github.com/ethereum/solc-js "$DIR"
|
|
||||||
cd "$DIR"
|
|
||||||
# disable "prepublish" script which downloads the latest version
|
|
||||||
# (we will replace it anyway and it is often incorrectly cached
|
|
||||||
# on travis)
|
|
||||||
npm config set script.prepublish ''
|
|
||||||
npm install
|
|
||||||
|
|
||||||
# Replace soljson with current build
|
|
||||||
echo "Replacing soljson.js"
|
|
||||||
rm -f soljson.js
|
|
||||||
cp "$SOLJSON" soljson.js
|
|
||||||
|
|
||||||
# Update version (needed for some tests)
|
|
||||||
VERSION=$("$REPO_ROOT/scripts/get_version.sh")
|
|
||||||
echo "Updating package.json to version $VERSION"
|
|
||||||
npm version --no-git-tag-version $VERSION
|
|
||||||
|
|
||||||
echo "Running solc-js tests..."
|
|
||||||
npm run test
|
|
||||||
)
|
|
||||||
rm -rf "$DIR"
|
|
||||||
|
|
||||||
echo "Running external tests...."
|
echo "Running external tests...."
|
||||||
"$REPO_ROOT/test/externalTests.sh" "$SOLJSON"
|
"$REPO_ROOT/test/externalTests.sh" "$SOLJSON"
|
||||||
|
63
test/solcjsTests.sh
Executable file
63
test/solcjsTests.sh
Executable file
@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# Bash script to execute the Solidity tests.
|
||||||
|
#
|
||||||
|
# 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) 2017 solidity contributors.
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ ! -f "$1" -o -z "$2" ]
|
||||||
|
then
|
||||||
|
echo "Usage: $0 <path to soljson.js> <version>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SOLJSON="$1"
|
||||||
|
VERSION="$2"
|
||||||
|
|
||||||
|
DIR=$(mktemp -d)
|
||||||
|
(
|
||||||
|
echo "Preparing solc-js..."
|
||||||
|
git clone --depth 1 https://github.com/ethereum/solc-js "$DIR"
|
||||||
|
cd "$DIR"
|
||||||
|
# disable "prepublish" script which downloads the latest version
|
||||||
|
# (we will replace it anyway and it is often incorrectly cached
|
||||||
|
# on travis)
|
||||||
|
npm config set script.prepublish ''
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# Replace soljson with current build
|
||||||
|
echo "Replacing soljson.js"
|
||||||
|
rm -f soljson.js
|
||||||
|
cp "$SOLJSON" soljson.js
|
||||||
|
|
||||||
|
# Update version (needed for some tests)
|
||||||
|
echo "Updating package.json to version $VERSION"
|
||||||
|
npm version --no-git-tag-version $VERSION
|
||||||
|
|
||||||
|
echo "Running solc-js tests..."
|
||||||
|
npm run test
|
||||||
|
)
|
||||||
|
rm -rf "$DIR"
|
Loading…
Reference in New Issue
Block a user