Self-hosted runner registered as idle but not picking up jobs

There is a runner available and Idle, and GitHub knows it has the label rpi.

There is a job started, and it says…

Can’t find any online and idle self-hosted runner in the current repository, account/organization that matches the required labels: ‘rpi’

Waiting for a self-hosted runner to pickup this job…

Question

Isn’t GitHub’s contradicting itself then - a bug with GitHub’s Runner management system? It is reporting an idle runner with the label rpi, but it is also reporting from a job in the organization that there are no runners matching that label.

About my runner

My runner is deployed on a Raspberry Pi within a Kubernetes cluster, using the Helm chart actions-runner-controller. I’ve looked for issues with that setup for several days but failed to conclude anything to be wrong.

With no better signal of a failure besides GitHub reporting Can't find any online and idle self-hosted runner in the current repository, account/organization that matches the required labels: 'rpi', which seems like a contradiction, I hope for help to pinpoint the issue. Is GitHub acting up, if not, what could be going wrong?

My runner is reporting the following:

Starting Runner listener with startup type: service
Started listener process
Started running service

√ Connected to GitHub

2021-08-29 05:34:16Z: Listening for Jobs

The actual runner software is from the Docker image summerwind/actions-runner:v2.280.3-ubuntu-20.04-5b4b656 as provided by this project: GitHub - actions-runner-controller/actions-runner-controller: Kubernetes controller for GitHub Act. This mean that the GitHub - actions/runner: The Runner for GitHub Actions software is v2.280.3 - the currently latest version, released 10 days ago.

About my GitHub org / repo

My attempts are made within the Sundell Open Source Consulting AB · GitHub org.

My workflow in my test repo

name: Test workflow

on:
  push:
  pull_request:
  workflow_dispatch:

jobs:
  build:
    runs-on: rpi

    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2
      - name: Run a one-line script
        run: echo Hello, world!

I used tcpdump to analyze the network traffic. I conclude that every 50 seconds, no matter if a job is started or not in a repository in my GitHub organization (sundellopensource), the same pattern will repeat every 50s as if my runner was never informed about any job it could take care of.

Note that the messages sent from 13.107.42.16 has the same length at all time, so its very likely its just a keep-alive kind of message without dynamic amounts of information about one or more jobs available.

From this, I conclude that there is no network issues, and the issue is that GitHub doesn’t try ask if my runner is ready to do work like indicated by the logs saying that no runners was found.

05:47:39.361567 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [P.], seq 4445:5080, ack 14946, win 2053, length 635
05:47:39.366429 IP sundellopensource-org-ks9dk-thqqx.54066 > 13.107.42.16.https: Flags [P.], seq 14946:17081, ack 5080, win 501, length 2135
05:47:39.379042 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 17081, win 2053, length 0

05:48:29.561837 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [P.], seq 5080:5715, ack 17081, win 2053, length 635
05:48:29.566228 IP sundellopensource-org-ks9dk-thqqx.54066 > 13.107.42.16.https: Flags [P.], seq 17081:19216, ack 5715, win 501, length 2135
05:48:29.580135 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 19216, win 2053, length 0

05:49:19.747976 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [P.], seq 5715:6350, ack 19216, win 2053, length 635
05:49:19.752065 IP sundellopensource-org-ks9dk-thqqx.54066 > 13.107.42.16.https: Flags [P.], seq 19216:21351, ack 6350, win 501, length 2135
05:49:19.764754 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 20656, win 2053, length 0
05:49:19.769739 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 21351, win 2050, length

05:50:09.951034 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [P.], seq 6350:6985, ack 21351, win 2050, length 635
05:50:09.955472 IP sundellopensource-org-ks9dk-thqqx.54066 > 13.107.42.16.https: Flags [P.], seq 21351:23486, ack 6985, win 501, length 2135
05:50:09.967411 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 23486, win 2053, length 0

05:51:00.138275 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [P.], seq 6985:7620, ack 23486, win 2053, length 635
05:51:00.148926 IP sundellopensource-org-ks9dk-thqqx.54066 > 13.107.42.16.https: Flags [P.], seq 23486:25621, ack 7620, win 501, length 2135
05:51:00.160910 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 25621, win 2053, length 0

05:51:50.342807 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [P.], seq 7620:8255, ack 25621, win 2053, length 635
05:51:50.347999 IP sundellopensource-org-ks9dk-thqqx.54066 > 13.107.42.16.https: Flags [P.], seq 25621:27756, ack 8255, win 501, length 2135
05:51:50.360267 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 27061, win 2053, length 0
05:51:50.360307 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 27756, win 2050, length 0

05:52:40.764346 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [P.], seq 8255:8890, ack 27756, win 2050, length 635
05:52:40.770056 IP sundellopensource-org-ks9dk-thqqx.54066 > 13.107.42.16.https: Flags [P.], seq 27756:29891, ack 8890, win 501, length 2135
05:52:40.781346 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 29196, win 2053, length 0
05:52:40.781435 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 29891, win 2050, length 0

05:53:30.952444 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [P.], seq 8890:9525, ack 29891, win 2050, length 635
05:53:30.957273 IP sundellopensource-org-ks9dk-thqqx.54066 > 13.107.42.16.https: Flags [P.], seq 29891:32026, ack 9525, win 501, length 2135
05:53:30.969253 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 31331, win 2053, length 0
05:53:30.975126 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 32026, win 2050, length 0

05:54:21.154476 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [P.], seq 9525:10160, ack 32026, win 2050, length 635
05:54:21.158916 IP sundellopensource-org-ks9dk-thqqx.54066 > 13.107.42.16.https: Flags [P.], seq 32026:34161, ack 10160, win 501, length 2135
05:54:21.171325 IP 13.107.42.16.https > sundellopensource-org-ks9dk-thqqx.54066: Flags [.], ack 34161, win 2053, length 0

Can you try using the following:

jobs:
  build:
    runs-on: [self-hosted,rpi]

Please let us know if it’s not still working

Can’t find any online and idle self-hosted runner in the current repository, account/organization that matches the required labels: ‘self-hosted , rpi’

Waiting for a self-hosted runner to pickup this job…

No difference in the results =/

It’s a security feature of github action
The reason why your runner get’s no job is that public repositores are excluded by your runner group see your own screenshot of your first post.
All repositories, excluding public repositories the default of github.

Exactly same problem No runner matching the specified labels was found: self-hosted · Discussion #40 · ChristopherHX/github-act-runner · GitHub with an instruction to allow public repositories.

1 Like

Aaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhhhhhhhhhhhhhh… That was it, thank you.

Now I’m having that feeling that you have after loads of hours spent debugging something to conclude you have need to check a checkbox with one mouse click.