-
Notifications
You must be signed in to change notification settings - Fork 415
Upgrade Self-Hosted Runners to Node20 #2573
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@vaughnbetz It looks like the version of the self-hosted runners is correct... But there still seems to be something wrong since they do not support node20 yet. Ill send an update in the email chain. |
Running into tons of issues with this... The first thing I tried was using that setup-node action before checkout (https://github.com/actions/setup-node ). This yielded the exact same error: I then tried changing us to Ubuntu 24.04 just to see if that would work (since we plan on upgrading to that in the future); but even that had the same error: I then tried deleting the container line all together (as was recommended in the VTR industry sync): I then tried setting he container to I tried googling around, but no one appears to be running into this exact same issue. Everyone seems to resolve this issue by upgrading the runner version to a more recent version. I am beginning to not trust the version returned by the log, but I am super confused. One idea I have is we can use the container image that we generate in VTR. That way we know the image has everything we need; however, it leads to an issue where our build depends on itself. For example, if the release build is failing, we would have trouble fixing it since we would rely on the release builds container. The current working PR on this is PR #2632 @vaughnbetz What do you think about this mess? Who originally set up the self-hosted runners who we can talk to about this? |
Ugh. Thanks for investigating @AlexandreSinger . Adding @kmurray and @tangxifan and @jgoeders in case they have any ideas. @kgugala may have set up the original self-hosted runners; Karol, any ideas much appreciated! |
Based on the above, it sounds like we need to get node20 installed in the image before any other actions are run.
The docker image is typically a completely stripped down version, without most of the packaging that comes when you install Ubuntu on your own machine. I just tested a bare
I think to resolve this we could either:
This page seems to have some documentation about how to configure the container.
Hope this helps. |
Update on my most recent findings. The issue we are facing must be caused by the GitHub runner version. Digging into the error message shown in the previous images, since the GitHub Action Runner code is open-source, I was able to find the exact error we are running into: However, notice that the error message is actually different! Notice that in v2.317 (which our self-hosted runners claim to be), node20 is an acceptable parameter. This error message was changed in v2.308. Notice in v2.307.1 and prior, the error message now matches the error message that we are seeing: This implies that, although our self-hosted runners say that they are on v2.317 of the runner, they do not appear to actually be on the correct version. Our running theory is that the VM itself may be on one version, while the image running on the machine may be on a different one. |
Looking into one of the runs of the CI, I saw this line being generated by the self-hosted runners: Using the all-mighty powers of Google, I was able to find that n2-highmem-16 is actually a Google Cloud VM running on a Google Compute Engine (GCE) from the Google Cloud Platform: Now we at least have a lead as to what the type of machines we are dealing with here are. Looking around Google some more, I found that people set up GCE to run GitHub CIs; and I found a pretty clear article on how this may be set up: I think VTR must have a Google Cloud Project set up somewhere and this project is where we can get access to the image being used by the self-hosted runners (and allow us to modify it to fix our issue). |
@jgoeders Thank you so much for your comment. The issue I am running into is that I was unable to access the machine to regenerate the image. I think you are correct though that the image is the issue. |
As described in this blog post, GitHub Actions are transitioning from Node16 to Node20:
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/
All of the CI tests that are running on the GitHub-hosted runners has been moved to Node20 by just changing the version of the Actions in PR #2568
The self-hosted runners were unable to be upgraded, giving a warning that the machine did not have Node20 available, only Node16. TODO statements were added to the CI test script to upgrade the runners before upgrading the necessary actions.
The blog post above makes it clear that the self-hosted runners need to be upgraded to v2.308.0 or later:

Once the self-hosted runners are upgraded, we can upgrade the actions to fully resolve the deprecations.
The text was updated successfully, but these errors were encountered: