image: archlinux packages: - rustup sources: - https://github.com/ruma/ruma-events tasks: - rustup: | rustup toolchain install nightly --profile minimal rustup default nightly # Try installing rustfmt & clippy for nightly, but don't fail the build # if they are not available rustup component add rustfmt || true rustup component add clippy || true - test: | cd ruma-events # 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 if ( rustup component list | grep -q rustfmt ); then cargo fmt -- --check fi fmt_exit=$? if ( rustup component list | grep -q clippy ); then cargo clippy --all-targets --all-features -- -D warnings fi clippy_exit=$? exit $(( $fmt_exit || $clippy_exit ))