language: rust # Caching of the runtime .wasm blob poses a problem. # See: https://github.com/Joystream/joystream/issues/466 # Always starting with a clean slate is probably better, it allows us to ensure # the WASM runtime is always rebuilt. It also allows us to detect when certain upstream dependencies # sometimes break the build. When cache is enabled do not use the produced WASM build. # This also means the binary should not be used to produce the final chainspec file (because the same # one is embedded in the binary) cache: cargo rust: - stable matrix: include: - os: linux env: TARGET=x86_64-unknown-linux-gnu install: - rustup install nightly-2020-05-23 - rustup target add wasm32-unknown-unknown --toolchain nightly-2020-05-23 # travis installs rust using rustup with the "minimal" profile so these tools are not installed by default - rustup component add rustfmt - rustup component add clippy before_script: - cargo fmt --all -- --check script: # we set release as build type for all steps to benefit from already compiled packages in prior steps - BUILD_DUMMY_WASM_BINARY=1 cargo clippy --release --target=${TARGET} -- -D warnings - BUILD_DUMMY_WASM_BINARY=1 cargo test --release --verbose --all --target=${TARGET} - TRIGGER_WASM_BUILD=1 WASM_BUILD_TOOLCHAIN=nightly-2020-05-23 cargo build --release --target=${TARGET} -p joystream-node - ls -l ./target/${TARGET}/release/wbuild/joystream-node-runtime/