Skip to content

[Ubuntu] Breaking Change: runner user will have UID 1001 instead of 1000 for larger runners #10936

Closed
@subir0071

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions