Skip to content

Commit 8fb7827

Browse files
dulinrileyfacebook-github-bot
authored andcommitted
Expand workspace to cover all crates and enable rust testing (#1684)
Summary: Expand Github rust testing to the whole workspace of crates in monarch. Tests that do not pass in Github are marked as fb-only for now. Many of them can be fixed easily, but we can turn on the majority of tests right away. Reviewed By: colin2328 Differential Revision: D85676520
1 parent 17de318 commit 8fb7827

File tree

4 files changed

+34
-7
lines changed

4 files changed

+34
-7
lines changed

.config/nextest.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[profile.ci]
2+
# Do not cancel the test run on the first failure.
3+
fail-fast = false
4+
5+
[profile.ci.junit]
6+
path = "junit.xml"
7+

.github/workflows/test-gpu-rust.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,16 @@ jobs:
5656
5757
# Run GPU Rust tests
5858
echo "Running OSS Rust tests..."
59-
# TODO: fix broken tests, then update to `cargo test --no-fail-fast`
60-
cargo test -p monarch_rdma
6159
# Uses cargo nextest to run tests in separate processes, which better matches
6260
# internal buck test behavior.
63-
# TODO: increase coverage to more crates.
64-
cargo nextest run -p hyperactor --no-fail-fast
61+
# The CI profile is configured in .config/nextest.toml
62+
# Exclude filter is for packages that don't build in Github Actions yet.
63+
# * monarch_messages: monarch/target/debug/deps/monarch_messages-...:
64+
# /lib64/libm.so.6: version `GLIBC_2.29' not found
65+
# (required by /meta-pytorch/monarch/libtorch/lib/libtorch_cpu.so)
66+
cargo nextest run --workspace --profile ci \
67+
--exclude monarch_messages \
68+
--exclude monarch_tensor_worker \
69+
--exclude monarch_simulator_lib
70+
# Copy the test results to the expected location
71+
cp target/nextest/ci/junit.xml "${RUNNER_TEST_RESUILTS_DIR:-test-results}/junit.xml"

Cargo.toml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[workspace]
22
resolver = "2"
33
members = [
4+
"build_utils",
45
"controller",
56
"cuda-sys",
67
"erased_lifetime",
@@ -10,11 +11,22 @@ members = [
1011
"hyperactor_multiprocess",
1112
"hyperactor_mesh",
1213
"hyperactor_mesh_macros",
13-
"ndslice",
14+
"hyperactor_telemetry",
15+
"monarch_conda",
1416
"monarch_extension",
15-
"monarch_tensor_worker",
17+
"monarch_hyperactor",
18+
"monarch_messages",
19+
"monarch_perfetto_trace",
1620
"monarch_rdma",
21+
"monarch_simulator",
22+
"monarch_tensor_worker",
23+
"monarch_types",
1724
"nccl-sys",
25+
"ndslice",
26+
"preempt_rwlock",
1827
"rdmaxcel-sys",
28+
"serde_multipart",
29+
"timed_test",
1930
"torch-sys",
31+
"torch-sys-cuda",
2032
]

scripts/common-setup.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ setup_conda_environment() {
2424
install_system_dependencies() {
2525
echo "Installing system dependencies..."
2626
dnf update -y
27-
dnf install clang-devel libunwind libunwind-devel -y
27+
# Protobuf compiler is required for the tracing-perfetto-sdk-schema crate.
28+
dnf install clang-devel libunwind libunwind-devel protobuf-compiler -y
2829
}
2930

3031
# Install and configure Rust nightly toolchain

0 commit comments

Comments
 (0)