diff --git a/.builds/1.43.0.yml b/.builds/1.43.0.yml new file mode 100644 index 00000000..d5d17bfb --- /dev/null +++ b/.builds/1.43.0.yml @@ -0,0 +1,61 @@ +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 1.43.0 --profile minimal -c rustfmt -c clippy + rustup default 1.43.0 + - 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 + + # We don't want to try building ruma-signatures on 1.43.0, since it + # depends on ring (MSRV 'stable') and is exempt from our MSRV policy. + # Instead, enable all other dependencies on the ruma crate and try + # building that (usually you would enable the higher-level features, but + # we're only doing this to have all relevant crates compiled, no to build + # a useful crate). + pushd ruma + + cargo build \ + --features ruma-events,ruma-api,ruma-appservice-api,ruma-client-api,ruma-federation-api,ruma-identity-service-api,ruma-push-gateway-api \ + --quiet + ruma_build_exit=$? + + # ruma-client isn't re-exported by ruma right now, so it needs to be built + # separately + pushd ruma-client + + cargo build --quiet + client_build_exit=$? + + popd + + # ruma-identifiers has a bunch of features. Make sure it works both with + # all of them and none of them being enabled. + pushd ruma-identifiers + + cargo build --no-default-features --quiet + id_build_1_exit=$? + + cargo build --all-features --quiet + id_build_2_exit=$? + + popd + + # ruma-client_api also has a few optional features, but none are enabled + # by default. Make sure it works with all of them. + pushd ruma-client-api + + cargo build --all-features --verbose + client_api_build_exit=$? + + popd + + exit $(( $ruma_build_exit || $client_build_exit || $id_build_1_exit || $id_build_2_exit || $client_api_build_exit ))