Description
Breaking changes
The user ID of runner
user on larger runners, used to execute github jobs, will change from 1000
to 1001
. This will match the UID on standard runners.
Target date
December 09, 2024.
The motivation for the changes
Users can hit permission issues when swapping workflows between larger and standard runners, especially with certain container operations.
Impact
For larger runners the runner
user ID will be changed to 1001 to make it consistent with standard runners.
Any larger runners workflows that take a hard dependency on the exact value of the runner UID, currently 1000, will need to be updated. We recommend resolving the UID at run time to ensure you always have the correct value.
Platforms affected
- Azure DevOps
- GitHub Actions
Runner images affected
- Ubuntu 20.04
- Ubuntu 22.04
- Ubuntu 24.04
- macOS 12
- macOS 13
- macOS 13 Arm64
- macOS 14
- macOS 14 Arm64
- macOS 15
- macOS 15 Arm64
- Windows Server 2019
- Windows Server 2022
Mitigation ways
If you build and run docker image on the same machine, you can use the following (more flexible) workaround:
FROM ...
ARG USER_UID=1000
ARG USER_GID=1000
ARG USER_NAME=runnerdocker
...
RUN groupadd -g $USER_GID $USER_NAME
RUN useradd -rm -d /home/$USER_NAME -s /bin/bash -g $USER_GID -u $USER_UID $USER_NAME
USER $USER_NAME
# building docker image
docker build \
--tag $IMAGE \
--file Dockerfile \
--build-arg USER_UID=$(id -u) \
--build-arg USER_GID=$(id -g) \
.
This workaround grabs UID and GID of user from host machine and create user in docker image with the same UID/GID.
Activity