Files
pebrel/scripts/ci_native_tests.py
T
kuddev e33465943a ci(macos): run release checks beside the complete native tests
Separate the independent macOS release metadata checks from native test jobs while retaining both architectures and the full release gate. Preserve Git dependency checkouts in the shared Cargo cache and compile tests before checking the product graph.
2026-09-15 09:51:18 +08:00

38 lines
1.2 KiB
Python

#!/usr/bin/env python3
"""Run the complete native suite with one Rust workspace feature graph."""
from __future__ import annotations
import subprocess
import sys
def native_commands() -> list[list[str]]:
profile = ["--config", ".github/ci-profile.toml", "--profile", "ci"]
return [
[sys.executable, "-m", "unittest", "discover", "-s", "scripts/tests", "-v"],
[sys.executable, "-m", "unittest", "discover", "-s", "scripts/conformance/tests", "-v"],
[
"cargo", "test", "--locked", *profile, "--workspace",
"--features", "nebula/gpui-test-support", "--timings",
],
# Link the test graph first: check can reuse compatible compiled
# dependencies, while metadata-only check output cannot link the tests.
# Keep the actual production feature graph independently checked.
[
"cargo", "check", "--locked", *profile, "-p", "nebula", "--bin", "pebrel",
"--features", "gpui-shell", "--timings",
],
]
def main() -> int:
for command in native_commands():
print("Running:", " ".join(command), flush=True)
subprocess.run(command, check=True)
return 0
if __name__ == "__main__":
raise SystemExit(main())