cybozu-go / meows

Kubernetes controller for GitHub actions self-hosted runners
Apache License 2.0
20 stars 2 forks source link

`/runner/bin/Runner.Listener` is not self updating. #137

Open kmdkuk opened 2 years ago

kmdkuk commented 2 years ago

What

The /runner/bin/Runner.Listener, which is originally expected to be self-updating, is not self-updating.

Version information at the time of notice.

In meows: 2.283.2 Latest: 2.288.1

Until this issue is resolved, the runner version must be updated manually. https://github.com/cybozu-go/meows/blob/f25df3f40ab62e0f04a1d9293e2d41804c905e8f/Dockerfile#L18-L19

How

Describe how to address the issue.

Checklist

kmdkuk commented 2 years ago

It may be that the automatic update is no longer performed when the version difference is large. The following is the log when Runner version 2.288.1 is used

❯ kubectl logs repo-runnerpool1-588b7894cc-rwz9c -f | grep --line-buffered -v "/status"

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

# Authentication

√ Connected to GitHub

# Runner Registration

√ Runner successfully added
√ Runner connection is good

# Runner settings

√ Settings Saved.

√ Connected to GitHub

Current runner version: '2.288.1'
2022-04-13 01:48:32Z: Listening for Jobs
Runner update in progress, do not shutdown runner.
Downloading 2.289.2 runner
Waiting for current job finish running.
Generate and execute update script.
Runner will exit shortly for update, should be back online within 10 seconds.
Runner update process finished.
{"level":"info","ts":1649814583.3112364,"logger":"runner","msg":"Runner listener exited with error","pod":"repo-runnerpool1-588b7894cc-rwz9c","code":4}
{"level":"info","ts":1649814583.3114252,"logger":"runner","msg":"Runner listener exit with undefined return code, re-launch runner in 10 seconds.","pod":"repo-runnerpool1-588b7894cc-rwz9c"}

√ Connected to GitHub

Current runner version: '2.289.2'
2022-04-13 01:49:57Z: Listening for Jobs
~~~
kmdkuk commented 2 years ago

Increasing the version resolved this problem, but However, the self-update sometimes fails due to poor communication with GitHub. To solve this problem, it is necessary to release a version with a higher RunnerVersion in as short a span of time as possible.

So, we want to monitor the latest version of actions/runner with GitHub actions.