You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After upgrading ARC (Actions Runner Controller) runners from v2.330.0 to v2.332.0, container jobs fail in multiple ways due to UID/ownership mismatches between the runner and job containers.
Environment
Runner version: v2.332.0 (upgraded from v2.330.0)
Platform: ARC on Kubernetes (EKS)
Container hooks: v0.8.1 (bundled with v2.332.0)
Problems
1. $GITHUB_ENV / $GITHUB_OUTPUT permission denied in container: jobs
Workflows using the native container: directive with a non-root user fail when any step writes to $GITHUB_ENV or $GITHUB_OUTPUT:
Containers launched by job steps get git ownership errors because the container user doesn't match the workspace volume owner:
fatal: detected dubious ownership in repository at '/workspace'
The Ubuntu 24.04 base image (introduced in v2.331.0) ships git 2.43+ which has stricter safe.directory enforcement than the previous Ubuntu 22.04 base.
3. Workspace not writable by non-root container users
Non-root users inside job containers cannot write to the mounted workspace volume:
/workspace/vendor does not exist and could not be created
Root cause
The v2.330.0 → v2.332.0 upgrade introduced several compounding changes:
v2.332.0: Container hooks bumped to v0.8.1 (PR Bump hook to 0.8.1 #4222), which changes workspace ownership handling but only for the runner container — not for job containers
The container hooks v0.8.1 fix (PRs #264, #283) correctly sets workspace permissions for the runner pod itself, but downstream job containers still see UID mismatches because the runner file command directories and mounted volumes are owned by the runner UID.
Expected behavior
Container jobs using non-root users should work the same way they did before the upgrade. The runner should ensure that /__w/_temp/_runner_file_commands/ and workspace volumes are accessible by the container user specified in container.options.
Description
After upgrading ARC (Actions Runner Controller) runners from v2.330.0 to v2.332.0, container jobs fail in multiple ways due to UID/ownership mismatches between the runner and job containers.
Environment
Problems
1.
$GITHUB_ENV/$GITHUB_OUTPUTpermission denied incontainer:jobsWorkflows using the native
container:directive with a non-root user fail when any step writes to$GITHUB_ENVor$GITHUB_OUTPUT:The runner file command directories under
/__w/_temp/_runner_file_commands/are owned by a UID that doesn't match the container user.Workflow example:
2. Git "dubious ownership" in job containers
Containers launched by job steps get git ownership errors because the container user doesn't match the workspace volume owner:
The Ubuntu 24.04 base image (introduced in v2.331.0) ships git 2.43+ which has stricter
safe.directoryenforcement than the previous Ubuntu 22.04 base.3. Workspace not writable by non-root container users
Non-root users inside job containers cannot write to the mounted workspace volume:
Root cause
The v2.330.0 → v2.332.0 upgrade introduced several compounding changes:
safe.directorychecksThe container hooks v0.8.1 fix (PRs #264, #283) correctly sets workspace permissions for the runner pod itself, but downstream job containers still see UID mismatches because the runner file command directories and mounted volumes are owned by the runner UID.
Expected behavior
Container jobs using non-root users should work the same way they did before the upgrade. The runner should ensure that
/__w/_temp/_runner_file_commands/and workspace volumes are accessible by the container user specified incontainer.options.Related issues
/home/runnerownership regression)