-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Bazel
-
None
-
Fully Compatible
-
Build OnDeck
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
- Summary
Linux native and containerized install actions now use `<output-base>-mongo-shared-install`, derived from Bazel's active output base. This keeps the shared install tree on the same filesystem as the output base — native Linux actions publish through cheap hardlinks (containerized actions see EXDEV across the container's separate mounts and fall back to stable symlinks or copies, as before) — and avoids dependence on volatile `/tmp`.
Updated `install_rules.py`, `fsutil.py`, Linux container action configuration, wrapper cleanup, and focused tests/documentation. macOS behavior remains unchanged.
-
- Safety and compatibility
- Explicit `MONGO_BAZEL_SHARED_INSTALL_DIR` overrides are honored consistently by the install script, post-build publication, and container configuration; cleanup only removes derived paths, never caller-owned overrides.
- The legacy temp-based Linux tree is removed during clean and output-base generation migration.
- Linux clean removes the derived sibling tree and the last published root (so cleans still take effect when the output-base key drifts, for example when TEST_TMPDIR changes). Clean invocations route through the direct integration, which owns that removal.
-
- Testing
- `bazel run format`
- `bazel test //bazel/install_rules:install_rules_script_test //bazel/wrapper_hook:cross_linux_test //bazel/wrapper_hook:cleanup_test`
All focused tests passed.