aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2024-04-12 06:44:27 +0200
committerJunio C Hamano <gitster@pobox.com>2024-04-12 08:47:50 -0700
commit2c5c7639e59a73f1428fa6fb5dff647234046f59 (patch)
tree286bb372b1943fd04909dcb28ff88c3ac4c1176a
parentd1ef3d3b1d562e3362de0886b18c8cc2df85c4b7 (diff)
downloadgit-2c5c7639e59a73f1428fa6fb5dff647234046f59.tar.gz
ci: fix setup of custom path for GitLab CI
Part of "install-dependencies.sh" is to install some binaries required for tests into a custom directory that gets added to the PATH. This directory is located at "$HOME/path" and thus depends on the current user that the script executes as. This creates problems for GitLab CI, which installs dependencies as the root user, but runs tests as a separate, unprivileged user. As their respective home directories are different, we will end up using two different custom path directories. Consequently, the unprivileged user will not be able to find the binaries that were set up as root user. Fix this issue by allowing CI to override the custom path, which allows GitLab to set up a constant value that isn't derived from "$HOME". Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--.gitlab-ci.yml2
-rwxr-xr-xci/lib.sh2
2 files changed, 3 insertions, 1 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c0fa2fe90b..3a0ef4d4d4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,6 +9,8 @@ workflow:
test:linux:
image: $image
+ variables:
+ CUSTOM_PATH: "/custom"
before_script:
- ./ci/install-docker-dependencies.sh
script:
diff --git a/ci/lib.sh b/ci/lib.sh
index 4cce854bad..473a2d0348 100755
--- a/ci/lib.sh
+++ b/ci/lib.sh
@@ -350,7 +350,7 @@ macos-*)
;;
esac
-CUSTOM_PATH="$HOME/path"
+CUSTOM_PATH="${CUSTOM_PATH:-$HOME/path}"
export PATH="$CUSTOM_PATH:$PATH"
case "$jobname" in