Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@
- Example: 10.2.1.4 is the 5th version that supports khiops 10.2.1.
- Internals: Changes in *Internals* sections are unlikely to be of interest for data scientists.

## Unreleased

### Fixed
- (General) Automatic Credentials Discovery-based credential retrieval for
Google cloud storage (GCS).

## 11.0.0.0 - 2025-12-19

### Added
Expand Down
5 changes: 2 additions & 3 deletions khiops/core/internals/runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -337,9 +337,8 @@ def _build_khiops_process_environment():

# Ensure HOME is always set for OpenMPI 5+
# (using KHIOPS_MPI_HOME if it exists)
khiops_env["HOME"] = os.path.pathsep.join(
[khiops_env.get("KHIOPS_MPI_HOME", ""), khiops_env.get("HOME", "")]
)
if "HOME" not in khiops_env:
khiops_env["HOME"] = khiops_env.get("KHIOPS_MPI_HOME", "")
return khiops_env


Expand Down
14 changes: 10 additions & 4 deletions tests/test_khiops_integrations.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,9 @@ def test_runner_environment_for_openmpi5(self):
"""Test if KHIOPS_MPI_HOME is actually exported
and HOME is corrected for OpenMPI 5+"""

# Store initial HOME, then delete it from the environment
initial_home = os.environ.pop("HOME", "")

# Trigger the environment initialization
_ = kh.get_runner().khiops_version

Expand All @@ -300,13 +303,16 @@ def test_runner_environment_for_openmpi5(self):
self.assertIsNotNone(os.environ.get("KHIOPS_MPI_HOME"))

# Check HOME is corrected in the new process environment
self.assertIn("HOME", khiops_env)
self.assertEqual(
os.path.pathsep.join(
[khiops_env.get("KHIOPS_MPI_HOME", ""), os.environ.get("HOME", "")]
),
khiops_env.get("HOME"),
khiops_env["KHIOPS_MPI_HOME"],
khiops_env["HOME"],
)

# Restore initial HOME in the environment
if initial_home:
os.environ["HOME"] = initial_home

def test_runner_environment_initialization(self):
"""Test that local runner initializes/ed its environment properly
Expand Down
Loading