checkout is a JS action, so the *job* container needs `node` on PATH. installing node inside the act_runner container itself does not fix that.
a few things that bite people with your setup:
- make sure the label in `.runner` / `config.yaml` is really the one the workflow `runs-on` uses. register flags and a later config edit can drift
- try the official images instead of raw catthehacker tags, e.g. `ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest` (or the `-full` variant if you need the fat image)
- your `CONFIG_FILE=/home/git/gitea/config.yaml` looks off if you only mounted the file at `/config.yaml`. point `CONFIG_FILE` at the path that exists *inside* the runner container
if node is only under `/opt/acttoolcache/…` and not on PATH for the runner’s exec, that matches the OCI “node not found” error. switching to the gitea runner-images labels usually clears it.
git@103:~/gitea$ cat .runner { "WARNING": "This file is automatically generated by Gitea Runner. Do not edit it manually unless you know what you are doing. Removing this file will cause Gitea Runner to re-register as a new runner.", "id": 23, "uuid": "59bb8dfaxxxxxxxxxxxxxxa2f422caa6", "name": "ubuntu-latest", "token": "2axxxxxxxxxxxxxxxxxxxx25", "address": "``https://xxxxxxxxxxxxxxxxxxxx.com``", "labels": [ "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" ], "ephemeral": false } git@103:~/gitea$
I have different token in .runner for some reason
git@103:~/gitea$ docker image ls
i Info → U In Use
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
devkitpro/devkita64:latest 1fc388c3a0d3 2.79GB 705MB
gitea/act_runner:latest b5c35d6bdbb9 68.6MB 19.8MB U
gitea/runner-images:ubuntu-latest fd911d7417bf 2.31GB 578MB
git@103:~/gitea$
git@103:~/gitea$
git@103:~/gitea$
git@103:~/gitea$ git@103:~/gitea$ docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 808c9dbc58c8 gitea/act_runner:latest "/sbin/tini -- run.sh" 40 minutes ago Up 40 minutes ubuntu-latest git@103:~/gitea$ git@103:~/gitea$