1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 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
- # Skip Rust build in a pull request if no rust project files were modified
- before_install:
- - |
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]
- then
- if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qE "(.rs|Cargo.(lock|toml))$"
- then
- echo "No changes to Rust or Cargo Files, CI not running."
- travis_terminate 0
- fi
- fi
- install:
- - rustup install nightly-2020-05-23 --force
- - 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
- - export WASM_BUILD_TOOLCHAIN=nightly-2020-05-23
- - cargo clippy --all -- -D warnings
- - cargo test --verbose --all
- - cargo build --release
- - ls -l ./target/release/wbuild/joystream-node-runtime/
- - ./target/release/joystream-node --version
- - ./target/release/chain-spec-builder --version
|