Create builder group only if required (#2709)

In case a group with the same id as used outside the container already
exists, do not create a group inside the container.

It seems that GitHub Action runners started to use primary group id 999
which is the default group id used by the Docker daemon.
This commit is contained in:
Stefan Agner
2023-08-28 09:52:45 +02:00
committed by GitHub
parent c41cf9ad17
commit 02d85d73ef

View File

@@ -6,9 +6,14 @@ USER="root"
# Run dockerd # Run dockerd
dockerd -s vfs &> /dev/null & dockerd -s vfs &> /dev/null &
# Setup local user
if [ "${BUILDER_UID:-0}" -ne 0 ] && [ "${BUILDER_GID:-0}" -ne 0 ]; then # Setup local group, if not existing
if [ "${BUILDER_GID:-0}" -ne 0 ] && ! getent group "${BUILDER_GID:-0}"; then
groupadd -g "${BUILDER_GID}" builder groupadd -g "${BUILDER_GID}" builder
fi
# Setup local user
if [ "${BUILDER_UID:-0}" -ne 0 ]; then
useradd -m -u "${BUILDER_UID}" -g "${BUILDER_GID}" -G docker,sudo builder useradd -m -u "${BUILDER_UID}" -g "${BUILDER_GID}" -G docker,sudo builder
echo "builder ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers echo "builder ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
# Make sure cache is accessible by builder # Make sure cache is accessible by builder