myoung34 / docker-github-actions-runner

This will run the new self-hosted github actions runners with docker-in-docker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`/actions/runner/` directory empty in latest image?

mrmachine opened this issue · comments

I run my own image that extends FROM myoung34/github-runner and it stopped working (on ARM at least). Investigating, the /actions-runner directory is empty both in my own image AND in your latest image. But it is NOT empty in 2.278.0 from 5 days ago.

latest (arm64 / Apple Silicon)

$ docker run --rm -it myoung34/github-runner bash
Configuring
/entrypoint.sh: line 35: ./config.sh: No such file or directory
root@dd56e9b45d07:/actions-runner# ls -la
total 8
drwxr-xr-x 1 root root 4096 Apr 22 00:09 .
drwxr-xr-x 1 root root 4096 Apr 22 03:02 ..
root@dd56e9b45d07:/actions-runner# exit

2.278.0 (arm64 / Apple Silicon)

$ docker run --rm -it myoung34/github-runner:2.278.0 bash
Configuring

--------------------------------------------------------------------------------
|        ____ _ _   _   _       _          _        _   _                      |
|       / ___(_) |_| | | |_   _| |__      / \   ___| |_(_) ___  _ __  ___      |
|      | |  _| | __| |_| | | | | '_ \    / _ \ / __| __| |/ _ \| '_ \/ __|     |
|      | |_| | | |_|  _  | |_| | |_) |  / ___ \ (__| |_| | (_) | | | \__ \     |
|       \____|_|\__|_| |_|\__,_|_.__/  /_/   \_\___|\__|_|\___/|_| |_|___/     |
|                                                                              |
|                       Self-hosted runner registration                        |
|                                                                              |
--------------------------------------------------------------------------------

# Authentication

Invalid configuration provided for url. Terminating unattended configuration.
root@baa7a1443c08:/actions-runner# ls -la
total 52
drwxr-xr-x 1 1001 docker  4096 Apr 22 03:12 .
drwxr-xr-x 1 root root    4096 Apr 22 03:12 ..
drwxr-xr-x 4 1001 docker 16384 Apr 16 15:54 bin
-rwxr-xr-x 1 1001 docker  2452 Apr 16 15:53 config.sh
drwxr-xr-x 2 root root    4096 Apr 22 03:12 _diag
-rw-r--r-- 1 root root      17 Apr 22 03:12 .env
-rwxr-xr-x 1 1001 docker   646 Apr 16 15:53 env.sh
drwxr-xr-x 3 1001 docker  4096 Apr 16 15:54 externals
-rw-r--r-- 1 root root      77 Apr 22 03:12 .path
-rwxr-xr-x 1 1001 docker  1598 Apr 16 15:53 run.sh
root@baa7a1443c08:/actions-runner# 

latest (amd64)

$ docker run --platform=linux/amd64 --rm -it myoung34/github-runner bash
Configuring

--------------------------------------------------------------------------------
|        ____ _ _   _   _       _          _        _   _                      |
|       / ___(_) |_| | | |_   _| |__      / \   ___| |_(_) ___  _ __  ___      |
|      | |  _| | __| |_| | | | | '_ \    / _ \ / __| __| |/ _ \| '_ \/ __|     |
|      | |_| | | |_|  _  | |_| | |_) |  / ___ \ (__| |_| | (_) | | | \__ \     |
|       \____|_|\__|_| |_|\__,_|_.__/  /_/   \_\___|\__|_|\___/|_| |_|___/     |
|                                                                              |
|                       Self-hosted runner registration                        |
|                                                                              |
--------------------------------------------------------------------------------

# Authentication

Invalid configuration provided for url. Terminating unattended configuration.
root@f7748a9e1c1d:/actions-runner# ls -la
total 52
drwxr-xr-x 1 1001 docker  4096 Apr 22 03:18 .
drwxr-xr-x 1 root root    4096 Apr 22 03:18 ..
drwxr-xr-x 4 1001 docker 16384 Apr 16 15:55 bin
-rwxr-xr-x 1 1001 docker  2452 Apr 16 15:53 config.sh
drwxr-xr-x 2 root root    4096 Apr 22 03:18 _diag
-rw-r--r-- 1 root root      17 Apr 22 03:18 .env
-rwxr-xr-x 1 1001 docker   646 Apr 16 15:53 env.sh
drwxr-xr-x 4 1001 docker  4096 Apr 16 15:54 externals
-rw-r--r-- 1 root root      77 Apr 22 03:18 .path
-rwxr-xr-x 1 1001 docker  1598 Apr 16 15:53 run.sh
root@f7748a9e1c1d:/actions-runner# 

Looking at the logs for your latest build (in GitHub Actions tab) I see:

#18 0.279 + export TARGET_ARCH=arm64
#18 0.279 + TARGET_ARCH=arm64
#18 0.282 + curl -L https://github.com/actions/runner/releases/download/v2.278.0/actions-runner-linux-arm64-2.278.0.tar.gz
#18 0.374   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#18 0.384                                  Dload  Upload   Total   Spent    Left  Speed
#18 0.389 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   649    0   649    0     0    656      0 --:--:-- --:--:-- --:--:--   662
#18 2.092 
 11 52.0M   11 6293k    0     0  3635k      0  0:00:14  0:00:01  0:00:13 3635k
 37 52.0M   37 19.4M    0     0  6997k      0  0:00:07  0:00:02  0:00:05 11.9M
 59 52.0M   59 31.2M    0     0  8324k      0  0:00:06  0:00:03  0:00:03 11.8M
 82 52.0M   82 43.0M    0     0  9147k      0  0:00:05  0:00:04  0:00:01 11.9M
100 52.0M  100 52.0M    0     0  9529k      0  0:00:05  0:00:05 --:--:-- 11.8M
#18 5.980 + tar -zxf actions.tar.gz
#18 6.042 tar: Child returned status 1
#18 6.045 tar: Error is not recoverable: exiting now
#18 6.048 + rm -f actions.tar.gz
#18 6.080 + ./bin/installdependencies.sh
#18 6.084 + mkdir /_work
#18 DONE 7.4s

#19 [linux/arm64 6/7] COPY token.sh entrypoint.sh /
#19 sha256:09a8adc71b67ad602ba7ba2bdc675af3070a543df8e9860cf43eb28e5dc95e6e
#19 DONE 0.0s

So it seems the installer script having an error does not fail the build? Maybe needs -e at the top of this file? https://github.com/myoung34/docker-github-actions-runner/blob/master/install_actions.sh

Is this also true for 2.278.0 for arm64?

My test above for 2.278.0 was arm64 / Apple Silicon. Only latest on arm64 is busted, I think.

Ha i meant amd64. Ill make a fix and see if it works for fixing latest, Just needed to know if i needed to redo the process for 2.278.0 (a bit more complicated than latest)

When https://github.com/myoung34/docker-github-actions-runner/actions/runs/774393579 is done I'd be curious to see if its resolved for you (my arm64 cluster is currently not operational)

2.278.0 on amd64 looks OK to me:

$ docker run --platform=linux/amd64 --rm -it myoung34/github-runner:2.278.0 bash
Configuring

--------------------------------------------------------------------------------
|        ____ _ _   _   _       _          _        _   _                      |
|       / ___(_) |_| | | |_   _| |__      / \   ___| |_(_) ___  _ __  ___      |
|      | |  _| | __| |_| | | | | '_ \    / _ \ / __| __| |/ _ \| '_ \/ __|     |
|      | |_| | | |_|  _  | |_| | |_) |  / ___ \ (__| |_| | (_) | | | \__ \     |
|       \____|_|\__|_| |_|\__,_|_.__/  /_/   \_\___|\__|_|\___/|_| |_|___/     |
|                                                                              |
|                       Self-hosted runner registration                        |
|                                                                              |
--------------------------------------------------------------------------------

# Authentication

Invalid configuration provided for url. Terminating unattended configuration.
root@b24b8534f831:/actions-runner# ls -la
total 52
drwxr-xr-x 1 1001 docker  4096 Apr 22 13:43 .
drwxr-xr-x 1 root root    4096 Apr 22 13:43 ..
drwxr-xr-x 4 1001 docker 16384 Apr 16 15:55 bin
-rwxr-xr-x 1 1001 docker  2452 Apr 16 15:53 config.sh
drwxr-xr-x 2 root root    4096 Apr 22 13:43 _diag
-rw-r--r-- 1 root root      17 Apr 22 13:43 .env
-rwxr-xr-x 1 1001 docker   646 Apr 16 15:53 env.sh
drwxr-xr-x 4 1001 docker  4096 Apr 16 15:54 externals
-rw-r--r-- 1 root root      77 Apr 22 13:43 .path
-rwxr-xr-x 1 1001 docker  1598 Apr 16 15:53 run.sh
root@b24b8534f831:/actions-runner# 

latest now works for me again on arm64. I'm surprised though that adding set -e actually fixed the problem? I thought that would just cause the build to fail. Why did tar fail during the last build? Coincidentally OOM or something?

I think it was a failure at that time. maybe github api had a failure, maybe something was going on with their artifact and i pulled too fast. The build process for new tags is automatic: if it sees a new tag in runner it kicks it off here. It might have been too fast. Its the first time its failed that way. I might add a delay to my automation

Re-ran my own action to build a new image FROM myoung34/github-runner and that is now working as expected. Thanks!