• Reduce "No runner matching the specified labels was found" errors while runner replacement (#392)
    Some checks failed
    Lint and Test Charts / lint-test (push) Has been cancelled

    admin released this 2021-03-16 01:52:30 +00:00 | 1490 commits to master since this release

    We occasionally encountered those errors while the underlying RunnerReplicaSet is being recreated/replaced on RunnerDeployment.Spec.Template update. It turned out to be due to that the RunnerDeployment controller was waiting for the runner pod becomes Running, intead of the new replacement runner to have registered to GitHub. This fixes that, by trying to Runner.Status.Phase to Running only after the runner in the runner pod appears to be registered.

    A side-effect of this change is that runner controller would call more "ListRunners" GitHub Actions API. I've reviewed and improved the runner controller code and Runner CRD to make make the number of calls minimum. In most cases, ListRunners should be called only twice for each runner creation.

    Downloads