github / github/gh-aw

Agentic workflow on self hosted ubuntu node: error .npmrc is read only....

Open
#57,468 3 comments 1 reaction 0 assignees View on GitHub
ai-inspected awf community help wanted
Dominant language
Go
Stars
5.1k
Forks
541
Avg merge
5h 46m
Merged PRs (30d)
760

Description

Hello,

I got self hosted runner on ubuntu. When I launch a pretty dumb agentic workflow:

```
description: >
validate pertinent issue.
engine: copilot
labels: [automation]
runs-on: mine
runs-on-slim: mine

runner:
topology: arc-dind

on:
issues:
types: [opened, labeled]

reaction: "eyes"
status-comment: true

permissions:
contents: read
issues: read
pull-requests: read

tools:
github:
toolsets: [default]
bash: ["curl"]

safe-outputs:
add-comment:
max: 1
hide-older-comments: true
add-labels:
allowed:
- "testing"
max: 1
remove-labels:
allowed:
- "testing"
max: 1
data: true
threat-detection: false
---

# issue validator

Asses if a newly opened issue is for testing purposes or not. If it is, add a label "testing".
In all situations, add a comment "reviewed by issue-filter workflow".
```

Without the node topoligy 'arc-dind' there is an issue (need a glibc not a musl lib) linked to the docker dind beeing alpine (docker provide only this one so ok, switching to 'arc dind' topology.

but doing that, I switch to another error:

```
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/dev/null" to rootfs at "/host/home/runner/actions-runner/_work/_temp/gh-aw/home/.npmrc": create mountpoint for /host/home/runner/actions-runner/_work/_temp/gh-aw/home/.npmrc mount: make mountpoint "/host/home/runner/actions-runner/_work/_temp/gh-aw/home/.npmrc": openat .npmrc: read-only file system
[ERROR] Failed to start containers: Error: Command failed with exit code 1: docker compose up -d --pull never
at JB (/home/runner/.local/lib/awf/awf-bundle.js:360:57)
at /home/runner/.local/lib/awf/awf-bundle.js:360:10493
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async pT (/home/runner/.local/lib/awf/awf-bundle.js:818:2343)
at async b5 (/home/runner/.local/lib/awf/awf-bundle.js:818:2955)
at async Object.A5 [as startContainers] (/home/runner/.local/lib/awf/awf-bundle.js:820:3309)
at async LY (/home/runner/.local/lib/awf/awf-bundle.js:825:15989)
at async e. (/home/runner/.local/lib/awf/awf-bundle.js:1434:302) {
shortMessage: 'Command failed with exit code 1: docker compose up -d --pull never',
command: 'docker compose up -d --pull never',
escapedCommand: 'docker compose up -d --pull never',
exitCode: 1,
signal: undefined,
signalDescription: undefined,
stdout: undefined,
stderr: undefined,
failed: true,
timedOut: false,
isCanceled: false,
killed: false
}
[ERROR] Fatal error: Error: Command failed with exit code 1: docker compose up -d --pull never
at JB (/home/runner/.local/lib/awf/awf-bundle.js:360:57)
at /home/runner/.local/lib/awf/awf-bundle.js:360:10493
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async pT (/home/runner/.local/lib/awf/awf-bundle.js:818:2343)
at async b5 (/home/runner/.local/lib/awf/awf-bundle.js:818:2955)
at async Object.A5 [as startContainers] (/home/runner/.local/lib/awf/awf-bundle.js:820:3309)
at async LY (/home/runner/.local/lib/awf/awf-bundle.js:825:15989)
at async e. (/home/runner/.local/lib/awf/awf-bundle.js:1434:302) {
shortMessage: 'Command failed with exit code 1: docker compose up -d --pull never',
command: 'docker compose up -d --pull never',
escapedCommand: 'docker compose up -d --pull never',
exitCode: 1,
signal: undefined,
signalDescription: undefined,
stdout: undefined,
stderr: undefined,
failed: true,
timedOut: false,
isCanceled: false,
killed: false
}
[INFO] Stopping containers...

```

In the docker compose file, I was able to see there is some mount:

```
...
- /dev/null:/home/runner/actions-runner/_work/_temp/gh-aw/home/.docker/config.json:ro
- /dev/null:/home/runner/actions-runner/_work/_temp/gh-aw/home/.npmrc:ro
- /dev/null:/home/runner/actions-runner/_work/_temp/gh-aw/home/.composer/auth.json:ro
...
- /dev/null:/host/home/runner/actions-runner/_work/_temp/gh-aw/home/.docker/config.json:ro
- /dev/null:/host/home/runner/actions-runner/_work/_temp/gh-aw/home/.npmrc:ro
- /dev/null:/host/home/runner/actions-runner/_work/_temp/gh-aw/home/.composer/auth.json:ro
...
```

but I'm not sure why the system complain about .npmrc specifically. Any advice / solution ?

Contributor guide

Open the contributing guide

Research direction

Start with the generated Docker Compose file for the arc-dind topology and inspect the /dev/null mounts for .npmrc, .docker/config.json, and .composer/auth.json. Reproduce the workflow on a self-hosted Ubuntu runner with the provided configuration, then trace why the .npmrc mountpoint is treated as read-only. Done means the containers start successfully without this mount error.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, docker-compose, github-actions, ubuntu
Domain
ci-cd, devops, infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.