This will be a great improvement to opening up the CI and making it easier to maintain / scale!
What about a slow roll out to reduce the potential of any disruption? i.e. We could at any time spin up the new Jenkins (and maybe put it at ci-beta.tlcpack.ai) and have GitHub trigger jobs for main/PRs on both instances. If possible the new Jenkins could skip reporting status back to GitHub at first until we’re sure it has some measure of reliability. After some validation period of running both in parallel, we could disable the old one and swap the new one over to ci.tlcpack.ai.