diff options
Diffstat (limited to 'circle.yml')
-rw-r--r-- | circle.yml | 132 |
1 files changed, 113 insertions, 19 deletions
@@ -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 |