From f06ab89953d73dafae5814ffaac45a99b039829b Mon Sep 17 00:00:00 2001 From: Erik Kundt Date: Fri, 29 Jun 2018 12:31:18 +0200 Subject: Moves Circle config to conform version 2.0. --- .circleci/config.yml | 242 +++++++++++++++++++++++++++++++++++++++++++++++++++ circle.yml | 242 --------------------------------------------------- 2 files changed, 242 insertions(+), 242 deletions(-) create mode 100644 .circleci/config.yml delete mode 100644 circle.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..30dccead --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,242 @@ +defaults: + # The default for tags is to not run, so we have to explicitly match a filter. + - build_on_tags: &build_on_tags + filters: + tags: + only: /.*/ + - setup_prerelease_commit_hash: &setup_prerelease_commit_hash + name: Store commit hash and prerelease + command: | + if [ "$CIRCLE_BRANCH" = release -o -n "$CIRCLE_TAG" ]; then echo -n > prerelease.txt; else date -u +"nightly.%Y.%-m.%-d" > prerelease.txt; fi + echo -n "$CIRCLE_SHA1" > commit_hash.txt + - run_build: &run_build + name: Build + command: | + mkdir -p build + cd build + cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo + make -j4 + - run_tests: &run_tests + name: Tests + command: scripts/tests.sh --junit_report test_results + - solc_artifact: &solc_artifact + path: build/solc/solc + destination: solc + - all_artifacts: &all_artifacts + root: build + paths: + - solc/solc + - test/soltest + - test/tools/solfuzzer + +version: 2 +jobs: + build_emscripten: + docker: + - image: trzeci/emscripten:sdk-tag-1.37.21-64bit + environment: + TERM: xterm + steps: + - checkout + - 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 + environment: + TERM: xterm + 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 8 + 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 + environment: + TERM: xterm + 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 8 + node --version + npm --version + - run: + name: External tests + command: | + . /usr/local/nvm/nvm.sh + test/externalTests.sh /tmp/workspace/soljson.js || test/externalTests.sh /tmp/workspace/soljson.js + build_x86_linux: + docker: + - image: buildpack-deps:artful + environment: + TERM: xterm + steps: + - checkout + - run: + name: Install build dependencies + command: | + apt-get -qq update + apt-get -qy install cmake libboost-regex-dev libboost-filesystem-dev libboost-test-dev libboost-system-dev libboost-program-options-dev libz3-dev + ./scripts/install_obsolete_jsoncpp_1_7_4.sh + - run: *setup_prerelease_commit_hash + - run: *run_build + - store_artifacts: *solc_artifact + - persist_to_workspace: *all_artifacts + + build_x86_mac: + macos: + xcode: "9.0" + environment: + TERM: xterm + steps: + - checkout + - run: + name: Install build dependencies + command: | + brew update + brew upgrade + brew unlink python + brew install z3 + brew install boost + brew install cmake + brew install wget + ./scripts/install_obsolete_jsoncpp_1_7_4.sh + - run: *setup_prerelease_commit_hash + - run: *run_build + - store_artifacts: *solc_artifact + - persist_to_workspace: *all_artifacts + + test_x86_linux: + docker: + - image: buildpack-deps:artful + environment: + TERM: xterm + steps: + - checkout + - attach_workspace: + at: build + - run: + name: Install dependencies + command: | + apt-get -qq update + apt-get -qy install libz3-dev libleveldb1v5 + - run: mkdir -p test_results + - run: *run_tests + - store_test_results: + path: test_results/ + + test_x86_mac: + macos: + xcode: "9.0" + environment: + TERM: xterm + steps: + - checkout + - attach_workspace: + at: build + - run: + name: Install dependencies + command: | + brew update + brew upgrade + brew unlink python + brew install z3 + - run: mkdir -p test_results + - run: *run_tests + - store_test_results: + path: test_results/ + + docs: + docker: + - image: buildpack-deps:artful + steps: + - checkout + - run: + name: Install build dependencies + command: | + apt-get -qq update + apt-get -qy install python-sphinx python-pip + - run: *setup_prerelease_commit_hash + - run: + name: Build documentation + command: ./scripts/docs.sh + - store_artifacts: + path: docs/_build/html/ + destination: docs-html + +workflows: + version: 2 + build_all: + jobs: + - build_emscripten: *build_on_tags + - test_emscripten_solcjs: + <<: *build_on_tags + requires: + - build_emscripten + - test_emscripten_external: + <<: *build_on_tags + requires: + - build_emscripten + - build_x86_linux: *build_on_tags + - build_x86_mac: *build_on_tags + - test_x86_linux: + <<: *build_on_tags + requires: + - build_x86_linux + - test_x86_mac: + <<: *build_on_tags + requires: + - build_x86_mac + - docs: *build_on_tags diff --git a/circle.yml b/circle.yml deleted file mode 100644 index 30dccead..00000000 --- a/circle.yml +++ /dev/null @@ -1,242 +0,0 @@ -defaults: - # The default for tags is to not run, so we have to explicitly match a filter. - - build_on_tags: &build_on_tags - filters: - tags: - only: /.*/ - - setup_prerelease_commit_hash: &setup_prerelease_commit_hash - name: Store commit hash and prerelease - command: | - if [ "$CIRCLE_BRANCH" = release -o -n "$CIRCLE_TAG" ]; then echo -n > prerelease.txt; else date -u +"nightly.%Y.%-m.%-d" > prerelease.txt; fi - echo -n "$CIRCLE_SHA1" > commit_hash.txt - - run_build: &run_build - name: Build - command: | - mkdir -p build - cd build - cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo - make -j4 - - run_tests: &run_tests - name: Tests - command: scripts/tests.sh --junit_report test_results - - solc_artifact: &solc_artifact - path: build/solc/solc - destination: solc - - all_artifacts: &all_artifacts - root: build - paths: - - solc/solc - - test/soltest - - test/tools/solfuzzer - -version: 2 -jobs: - build_emscripten: - docker: - - image: trzeci/emscripten:sdk-tag-1.37.21-64bit - environment: - TERM: xterm - steps: - - checkout - - 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 - environment: - TERM: xterm - 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 8 - 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 - environment: - TERM: xterm - 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 8 - node --version - npm --version - - run: - name: External tests - command: | - . /usr/local/nvm/nvm.sh - test/externalTests.sh /tmp/workspace/soljson.js || test/externalTests.sh /tmp/workspace/soljson.js - build_x86_linux: - docker: - - image: buildpack-deps:artful - environment: - TERM: xterm - steps: - - checkout - - run: - name: Install build dependencies - command: | - apt-get -qq update - apt-get -qy install cmake libboost-regex-dev libboost-filesystem-dev libboost-test-dev libboost-system-dev libboost-program-options-dev libz3-dev - ./scripts/install_obsolete_jsoncpp_1_7_4.sh - - run: *setup_prerelease_commit_hash - - run: *run_build - - store_artifacts: *solc_artifact - - persist_to_workspace: *all_artifacts - - build_x86_mac: - macos: - xcode: "9.0" - environment: - TERM: xterm - steps: - - checkout - - run: - name: Install build dependencies - command: | - brew update - brew upgrade - brew unlink python - brew install z3 - brew install boost - brew install cmake - brew install wget - ./scripts/install_obsolete_jsoncpp_1_7_4.sh - - run: *setup_prerelease_commit_hash - - run: *run_build - - store_artifacts: *solc_artifact - - persist_to_workspace: *all_artifacts - - test_x86_linux: - docker: - - image: buildpack-deps:artful - environment: - TERM: xterm - steps: - - checkout - - attach_workspace: - at: build - - run: - name: Install dependencies - command: | - apt-get -qq update - apt-get -qy install libz3-dev libleveldb1v5 - - run: mkdir -p test_results - - run: *run_tests - - store_test_results: - path: test_results/ - - test_x86_mac: - macos: - xcode: "9.0" - environment: - TERM: xterm - steps: - - checkout - - attach_workspace: - at: build - - run: - name: Install dependencies - command: | - brew update - brew upgrade - brew unlink python - brew install z3 - - run: mkdir -p test_results - - run: *run_tests - - store_test_results: - path: test_results/ - - docs: - docker: - - image: buildpack-deps:artful - steps: - - checkout - - run: - name: Install build dependencies - command: | - apt-get -qq update - apt-get -qy install python-sphinx python-pip - - run: *setup_prerelease_commit_hash - - run: - name: Build documentation - command: ./scripts/docs.sh - - store_artifacts: - path: docs/_build/html/ - destination: docs-html - -workflows: - version: 2 - build_all: - jobs: - - build_emscripten: *build_on_tags - - test_emscripten_solcjs: - <<: *build_on_tags - requires: - - build_emscripten - - test_emscripten_external: - <<: *build_on_tags - requires: - - build_emscripten - - build_x86_linux: *build_on_tags - - build_x86_mac: *build_on_tags - - test_x86_linux: - <<: *build_on_tags - requires: - - build_x86_linux - - test_x86_mac: - <<: *build_on_tags - requires: - - build_x86_mac - - docs: *build_on_tags -- cgit