@@ -153,7 +153,7 @@ function mr::addUser {
153
153
run::logFailed sudo tee /etc/sudoers.d/runners <<< ' %runners ALL=(ALL) NOPASSWD:ALL' > /dev/null \
154
154
&& run::logFailed sudo groupadd -f ' runners' >&2 \
155
155
&& run::logFailed sudo groupadd -f ' docker' >&2 \
156
- && run::log sudo useradd -m -s /bin/bash -G ' runners,docker' " $user " >&2 || return $?
156
+ && run::log sudo useradd -b " ${base :-/ home} " - m -s /bin/bash -G ' runners,docker' " $user " >&2 || return $?
157
157
echo " $user "
158
158
}
159
159
@@ -337,6 +337,7 @@ Options:
337
337
--org GitHub organization name
338
338
--repo GitHub repository name, registration on organization-level if empty
339
339
--user Linux local username of runner
340
+ --base Base directory for user home directories
340
341
--labels Extra labels for the runner
341
342
--group Runner group for the runner
342
343
--token Runner registration token, takes precedence over MR_GITHUB_PAT
@@ -352,7 +353,7 @@ function mr::main {
352
353
local org=' ' repo=' ' user=' ' labels=' ' token=' ' group=' ' dotenv=' '
353
354
354
355
# parse options into variables
355
- getopt_output=" $( getopt -o h -l help,org:,repo:,user:,labels:,token:,group:,dotenv: -n " $FILE_THIS " -- " $@ " ) "
356
+ getopt_output=" $( getopt -o h -l help,org:,repo:,base:, user:,labels:,token:,group:,dotenv: -n " $FILE_THIS " -- " $@ " ) "
356
357
log::failed $? " getopt failed!" || return $?
357
358
eval set -- " $getopt_output "
358
359
@@ -371,6 +372,10 @@ function mr::main {
371
372
user=" $2 "
372
373
shift 2
373
374
;;
375
+ --base)
376
+ base=" $2 "
377
+ shift 2
378
+ ;;
374
379
--labels)
375
380
labels=" $2 "
376
381
shift 2
0 commit comments