-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
ubuntu-24.04 is available, 20.04 will begin deprecation in February 2025 #4281
Comments
The CI workflow uses ubuntu-24.04 and setup-beam action, so it can test only Erlang/OTP 24 and higher. To ensure Dialyzer is also ran with older Erlang versions, let's add Dialyzer testing to the Runtime workflow, which uses the erlang container, and that allows to run Erlang/OTP 20 in ubuntu-24.04.
Unfortunately, building the binary toolchain now fails while trying to generate glibc's info documentation. The problem is a bug in the Texinfo version shipped with Ubuntu 24.04 (this went unnoticed as long as the cached version of the toolchain was used until now). I guess we could install a fixed Texinfo version within the image, but for the moment, I'd just revert the Installers action to Ubuntu 22.04. |
Aha, great finding! Seems the bug was introduced in texinfo 7.1 and fixed later. So So yes, I'll revert installers.yml to ubuntu-22.04 image which includes 6.8-4build1 I'll keep an eye on ubuntu-24.04 image, and once it includes a fixed texinfo, we can update installers.yml to it. Otherwise, if 24.04 never gets the fix, we will jump directly to ubuntu-26.04 |
…sible (#4281)" ubuntu-24.04 includes texinfo 7.1, which has a problematic bug. Let's revert to ubuntu-22.04 until 24.04 includes a fixed texinfo. URL to keep an eye: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md This partially reverts commit d3baacd.
Update 5 december: The Ubuntu 20.04 Actions runner image will begin deprecation on 2025-02-01 and will be fully unsupported by 2025-04-01, see actions/runner-images#11101
Update 18 november: I've updated several repositories to use ubuntu-24.04 instead of 20.04 or 22.04. In particular, ejabberd in d3baacd updates ubuntu to 24.04 (and use containers in Runtime) for all workflows and jobs except CI.
Ubuntu runners
GitHub Actions provides several runners where we can run our workflows:
Now that GitHub is considering ubuntu-24.04 as ubuntu-latest, it is expected that in the near future ubuntu-20.04 will be marked as obsolete. Once that time arrives, we will have to upgrade our actions from ubuntu-20.04 to ubuntu-22.04 or higher.
Erlang/OTP install methods
When the runner doesn't include Erlang/OTP (for example ubuntu-22.0.4 and higher), or we want to use a specific erlang version, our workflows use two alternative methods to install Erlang, depending on the requirements of the workflow:
A) Erlang Docker container, suitable for simple tasks (running rebar3/mix, compiling, testing dialyzer, starting/stopping ejabberd)
B)
erlef/setup-beam
action is suitable for complex tasks (setting up databases and run ejabberd CI), but in ubuntu-22.04 the lower erlang supported is 24.2.Our Ubuntu usage
This is a summary of what we are using right now:
As ejabberd supports from Erlang/OTP 20.0 up, for complex tests like ejabberd's ci and runtime, we need to use ubuntu-20.04. In ubuntu-22.04 there's no way to install Erlang/OTP older than 24.2 to use it for complex tests.
What to expect in the future
As mentioned in actions/runner-images#10636
In the future when ubuntu-20.04 runner is deleted and we are forced to use ubuntu-22.04, I expect that there will be no way to test ejabberd with Erlang/OTP lower than 24.2. When that time arrives, we may have to raise the Erlang/OTP requirement in ejabberd to 24.2.
The text was updated successfully, but these errors were encountered: