frank/.circleci/config.yml
2019-10-10 23:10:16 +03:00

60 lines
1.7 KiB
YAML

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