HOME is overridden for containers
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 1.4k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 24
Description
Describe the bug
If passing the HOME environment variable to a container configuration,
it will get ignored and set to /github/home anyway as per
https://github.com/actions/runner/blob/4e85b8f3b7493aa1adf9dd0a574a9fa2bf1add71/src/Runner.Worker/ContainerOperationProvider.cs#L258
To Reproduce
A workflow with
jobs:
main:
runs-on: ubuntu-latest
container:
image: 'rokmoln/sf-ubuntu-bionic-common:0.2.80'
options: '--user sf:sf' # this user's home is /home/sf
env:
HOME: /home/sf # tried to change HOME from /github/home to /home/sf. doesn't work
steps:
- shell: bash
run: |
echo $HOME
will echo /github/home instead of /home/sf.
Expected behavior
Expected HOME to be left as is, as sf user's HOME,
or at the very least to be allowed to enforce it via the env dictionary.
Runner Version and Platform
2.274.2
What's not working?
N/A
Job Log Output
N/A
Runner and Worker's Diagnostic Logs
N/A
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/Runner.Worker/ContainerOperationProvider.cs around line 258, then reproduce the reported workflow with a container, the sf user, and HOME set in the container environment. Done should be a clear, tested behavior where the configured HOME is not unexpectedly replaced, or the issue's expected enforcement behavior is explicitly resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- devops
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100