image: archlinux packages: - rustup sources: - https://github.com/ruma/ruma tasks: - rustup: | # We specify --profile minimal because we'd otherwise download docs rustup toolchain install stable --profile minimal -c rustfmt -c clippy rustup default stable - test: | cd ruma # We don't want the build to stop on individual failure of independent # tools, so capture tool exit codes and set the task exit code manually set +e cargo fmt --all -- --check fmt_exit=$? cargo clippy --all --all-targets --all-features -- -D warnings clippy_exit=$? cargo test --all --verbose test_exit=$? # ruma-identifiers has a bunch of features. Make sure it works both with # all of them and none of them being enabled. cd ruma-identifiers cargo test --no-default-features --verbose id_test_1_exit=$? cargo test --all-features --verbose id_test_2_exit=$? exit $(( $fmt_exit || $clippy_exit || $test_exit || $id_test_1_exit || $id_test_2_exit )) # TODO: Add audit task once cargo-audit binary releases are available. # See https://github.com/RustSec/cargo-audit/issues/66