aboutsummaryrefslogtreecommitdiffstats
path: root/circle.yml
diff options
context:
space:
mode:
Diffstat (limited to 'circle.yml')
-rw-r--r--circle.yml132
1 files changed, 113 insertions, 19 deletions
diff --git a/circle.yml b/circle.yml
index db685da1..4edc9383 100644
--- a/circle.yml
+++ b/circle.yml
@@ -1,50 +1,144 @@
version: 2
jobs:
- build:
+ build_emscripten:
docker:
- image: trzeci/emscripten:sdk-tag-1.37.21-64bit
steps:
- checkout
- run:
+ name: Init submodules
+ command: |
+ git submodule update --init
+ - restore_cache:
+ name: Restore Boost build
+ key: &boost-cache-key emscripten-boost-{{ checksum "scripts/travis-emscripten/install_deps.sh" }}{{ checksum "scripts/travis-emscripten/build_emscripten.sh" }}
+ - run:
+ name: Bootstrap Boost
+ command: |
+ scripts/travis-emscripten/install_deps.sh
+ - run:
+ name: Build
+ command: |
+ scripts/travis-emscripten/build_emscripten.sh
+ - save_cache:
+ name: Save Boost build
+ key: *boost-cache-key
+ paths:
+ - 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:
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: |
+ . /usr/local/nvm/nvm.sh
+ test/solcjsTests.sh /tmp/workspace/soljson.js $(cat /tmp/workspace/version.txt)
+ test_emscripten_external:
+ docker:
+ - image: trzeci/emscripten:sdk-tag-1.37.21-64bit
+ steps:
+ - checkout
+ - attach_workspace:
+ at: /tmp/workspace
- run:
- name: Test external tests deps
+ 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
+ nvm install 7
node --version
npm --version
- run:
+ name: External tests
+ command: |
+ . /usr/local/nvm/nvm.sh
+ test/externalTests.sh /tmp/workspace/soljson.js
+ build_x86:
+ docker:
+ - image: buildpack-deps:artful
+ steps:
+ - checkout
+ - run:
+ name: Install build dependencies
+ command: |
+ apt-get -qq update
+ apt-get -qy install ccache cmake libboost-all-dev libz3-dev
+ - run:
name: Init submodules
command: |
git submodule update --init
- - restore_cache:
- name: Restore Boost build
- key: &boost-cache-key emscripten-boost-{{ checksum "scripts/travis-emscripten/install_deps.sh" }}{{ checksum "scripts/travis-emscripten/build_emscripten.sh" }}
- run:
- name: Bootstrap Boost
+ name: Store commit hash and prerelease
command: |
- scripts/travis-emscripten/install_deps.sh
+ date -u +"nightly.%Y.%-m.%-d" > prerelease.txt
+ echo -n "$CIRCLE_SHA1" > commit_hash.txt
+ - restore_cache:
+ key: ccache-{{ arch }}-{{ .Branch }}
+ key: ccache-{{ arch }}
+ key: ccache
- run:
name: Build
- command: |
- scripts/travis-emscripten/build_emscripten.sh
+ command: ./scripts/build.sh RelWithDebInfo
- save_cache:
- name: Save Boost build
- key: *boost-cache-key
+ key: ccache-{{ arch }}-{{ .Branch }}
paths:
- - boost_1_57_0
+ - ~/.ccache
- run:
- name: Test
- command: |
- . /usr/local/nvm/nvm.sh
- scripts/test_emscripten.sh
+ name: Commandline tests
+ command: test/cmdlineTests.sh
+ - run: mkdir -p test_results
+ - run:
+ name: Test without optimizer (exclude IPC tests)
+ command: build/test/soltest --logger=JUNIT,test_suite,test_results/no_opt.xml -- --no-ipc
+ - run:
+ name: Test with optimizer (exclude IPC tests)
+ command: build/test/soltest --logger=JUNIT,test_suite,test_results/opt.xml -- --optimize --no-ipc
+ - store_test_results:
+ path: test_results/
- store_artifacts:
- path: build/solc/soljson.js
- destination: soljson.js
+ path: build/solc/solc
+ destination: solc
+
+workflows:
+ version: 2
+ build_all:
+ jobs:
+ - build_emscripten
+ - test_emscripten_solcjs:
+ requires:
+ - build_emscripten
+ - test_emscripten_external:
+ requires:
+ - build_emscripten
+ - build_x86