diff --git a/Changelog.md b/Changelog.md index 5efdd360..c9d19e11 100644 --- a/Changelog.md +++ b/Changelog.md @@ -14,6 +14,7 @@ All notable changes to this project will be documented here. - Disable pytest cacheprovider to avoid creating .pytest_cache in isolated runs (#709) - Fixed Python tester to correctly report marks when `markus_marks_earned` equals total or zero (#716) - Fix worker orphan processes and add server-side max test timeout cap (#710) +- Resolve ghcup isolation installation failure in Haskell autotester (#725) ## [v2.9.0] - Install stack with GHCup (#626) diff --git a/server/autotest_server/testers/haskell/requirements.system b/server/autotest_server/testers/haskell/requirements.system index 559e854f..48176b85 100755 --- a/server/autotest_server/testers/haskell/requirements.system +++ b/server/autotest_server/testers/haskell/requirements.system @@ -21,5 +21,13 @@ if [ ! -x "/usr/local/bin/stack" ]; then libgmp10 \ libncurses-dev curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_MINIMAL=1 sh - $HOME/.ghcup/bin/ghcup install stack recommended --isolate /usr/local/bin -fi + + # Create a dedicated, empty folder to satisfy ghcup's isolation requirements + mkdir -p /usr/local/bin/stack-isolated + + # Install stack cleanly into the isolated subfolder + ~/.ghcup/bin/ghcup install stack recommended --isolate /usr/local/bin/stack-isolated + + # Link the executable back into the global PATH + ln -sf /usr/local/bin/stack-isolated/stack /usr/local/bin/stack +fi \ No newline at end of file