Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
4 of 14 tasks
subir0071 opened this issue Nov 8, 2024 · 6 comments
Open
4 of 14 tasks

Comments

@subir0071
Copy link
Contributor

subir0071 commented Nov 8, 2024

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.

@gdryke gdryke changed the title [Ubuntu] runner user would have UID 1001 instead of 1000 for larger runners [Ubuntu] Breaking Change: runner user will have UID 1001 instead of 1000 for larger runners Nov 8, 2024
@Dajcsi
Copy link

Dajcsi commented Nov 15, 2024

Gff

jiripetrlik added a commit to jiripetrlik/codeflare-common that referenced this issue Nov 26, 2024
openshift-merge-bot bot pushed a commit to project-codeflare/codeflare-common that referenced this issue Nov 26, 2024
@Malandro9493
Copy link

Malandro9493 commented Nov 29, 2024

Cambios importantes

El ID de usuario de runnerlos ejecutores más grandes, que se utiliza para ejecutar trabajos de GitHub, cambiará de 1000a 1001. Esto coincidirá con el UID de los ejecutores estándar.

Fecha objetivo

9 de diciembre de 2024.

La motivación para los cambios

Los usuarios pueden tener problemas de permisos al intercambiar flujos de trabajo entre ejecutores más grandes y estándar, especialmente con ciertas operaciones de contenedores.

Impacto

Para los corredores más grandes, el runnerID de usuario se cambiará a 1001 para que sea coherente con los corredores estándar.

Será necesario actualizar cualquier flujo de trabajo de ejecutores más grande que dependa estrictamente del valor exacto del UID del ejecutor, que actualmente es 1000. Recomendamos resolver el UID en tiempo de ejecución para garantizar que siempre tenga el valor correcto.

Plataformas afectadas

  • Azure DevOps
  • Acciones de GitHub

Imágenes de corredores afectados

  • 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
  • Servidor Windows 2019
  • Servidor Windows 2022

Formas de mitigación

N / A

#10936 (comment)

@Makotogew
Copy link

Runner

@invisiblepancake
Copy link

"amoek@amoek-desktop:$ /home/linuxbrew/.linuxbrew/bin/brew shellenv
export HOMEBREW_PREFIX="/home/linuxbrew/.linuxbrew";
export HOMEBREW_CELLAR="/home/linuxbrew/.linuxbrew/Cellar";
export HOMEBREW_REPOSITORY="/home/linuxbrew/.linuxbrew/Homebrew";
export PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin${PATH+:$PATH}";
[ -z "${MANPATH-}" ] || export MANPATH=":${MANPATH#:}";
export INFOPATH="/home/linuxbrew/.linuxbrew/share/info:${INFOPATH:-}";
amoek@amoek-desktop:
$
" wee cheers

@kinseydurhamgrace
Copy link

👋🏽 It seems like this issue has broken our integration tests. We are receiving many permission errors now when running our integration tests. This is somewhat urgent as it is blocking Heaven deployments. We can disable our integration tests (requiring them) as a workaround but this introduces risk in that we are making changes that we do not know for sure if they are safe.

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

No branches or pull requests

11 participants
@subir0071 @invisiblepancake @kinseydurhamgrace @vidyasagarnimmagaddi @Dajcsi @Malandro9493 @Makotogew and others