From fab3563928abde0fed298c86f586bd0cb98d96a3 Mon Sep 17 00:00:00 2001 From: vms Date: Thu, 10 Oct 2019 23:10:16 +0300 Subject: [PATCH] add circleci config --- .circleci/config.yml | 59 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..c3d2c0c --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,59 @@ +jdk: &jdk + image: circleci/openjdk:10-jdk-node + +just_jdk: &jdk_image + docker: + - *jdk + +rc: &rc + restore_cache: + keys: + - sbtcache004-{{ checksum "build.sbt" }} + +sc: &sc + save_cache: + paths: + - ~/.m2 + - ~/.ivy2 + - ~/.sbt + - ~/.cargo + - ~/.rustup + key: sbtcache004-{{ checksum "build.sbt" }} + +rustup: &rustup + - run: | + curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain nightly-2019-09-23 + ~/.cargo/bin/rustup toolchain install nightly-2019-09-23 # in case some other toolchain was already installed + ~/.cargo/bin/rustup target add wasm32-unknown-unknown --toolchain nightly-2019-09-23 + +version: 2 +jobs: + Scala tests: + <<: *jdk_image + resource_class: medium+ + steps: + - checkout + - <<: *rc + - <<: *rustup + - run: PATH="$PATH:$HOME/.cargo/bin" SBT_OPTS="-XX:MaxMetaspaceSize=4096M -Xms5120M -Xmx5120M -Xss6M" sbt -v clean test:compile + # LD_LIBRARY_PATH is needed because setting java.library.path with javaOptions isn't working for CircleCI + - run: PATH="$PATH:$HOME/.cargo/bin" LD_LIBRARY_PATH="$HOME/project/vm/frank/target/release" sbt -v test + - <<: *sc + + Integration tests: + <<: *jdk_image + resource_class: medium+ + steps: + - checkout + - <<: *rc + - <<: *rustup + - run: PATH="$PATH:$HOME/.cargo/bin" SBT_OPTS="-XX:MaxMetaspaceSize=4096M -Xms5120M -Xmx5120M -Xss6M" sbt -v clean test:compile + # LD_LIBRARY_PATH is needed because setting java.library.path with javaOptions isn't working for CircleCI + - run: PATH="$PATH:$HOME/.cargo/bin" LD_LIBRARY_PATH="$HOME/project/vm/frank/target/release" sbt -v it:test + +workflows: + version: 2 + fluence: + jobs: + - Scala tests + - Integration tests