Repository navigation
Multiple updates for our CI workflows - #223
Conversation
These runners use less resources, and are well suited for this kind of lightweight workflows. The codespell workflow cannot use these runners though, as it depends on Docker, which does not work on the slim runners.
Bump to ubuntu-24.04, which is the current ubuntu-latest.
We do not need to add the LLVM repositories anymore, as clang-format-20 is available on the standard repositories of Ubuntu 24.04, which is the base distro of the ubuntu-slim image. It is also available on Ubuntu 26.04, which should make this safe vs. a future upgrade of the image base.
|
Yesterday, GitHub issued an update about the deprecation of macOS 14: GitHub Actions: macOS 14 runner image retirement.
If left as is, our “Build on Linux/macOS” workflow will start failing soon. |
|
Hi @edgar-bonet, just a three quick notes from a quick look:
|
|
Hi @hartwork, and thanks for the review! I made a couple of changes to the pull request and force-pushed:
|
|
@edgar-bonet thanks for the adjustments but the new version still does three or more things in one commit (and it drops |
There have been some changes in the GitHub runner images since our last big bump: * Ubuntu 26.04 is available as public preview * macOS 14 has being deprecated * macOS 26 has reached general availability * macOS 27 is available as public preview as "xcode-27" Update the set of images we use: remove the deprecated macOS 14 and add the newly available images. Update also the range of compilers, including for each of them versions n, n−2 and n−4, where n is the latest available version. The version coverage of our CI workflow is changed as follows: Ubuntu: 22.04,24.04 → 22.04–26.04 macOS: 14–26 → 15–27 gcc: 13–15 → 11,13,15 clang: 18,20 → 18,20,22
Remove the steps "Add Clang/LLVM repositories" and "Install build dependency Clang <version>", as the required clang versions are already installed on the GitHub-supplied images.
|
Oops! Fixed the Regarding “the new version still does three or more things in one commit”, do you have any suggestion on how to split the commit in a way that makes sense and is not just splitting for the sake of splitting? Keep in mind that the choice of OS and the choice of compiler are interrelated: I cannot just update the choice of OSes in one commit and the choice of compilers in another commit. I could try to build a path from the initial state to the final state that doesn't break the builds, but that would be overly complicated, more or less the equivalent of solving a 15 puzzle. That being said, if you have a sensible suggestion, I am open to trying it. |
hartwork
left a comment
There was a problem hiding this comment.
@edgar-bonet thanks for the adjustments!
This pull request updates the tooling used in our CI workflows, in order to keep it updated as old components get deprecated and new ones are made available:
actions-codespell is bumped from 2.2 to 2.4.3
clang-format is bumped from 17 to 20
"Enforce codespell-clean spelling" is moved from an ubuntu-22.04 runner to ubuntu-24.04
"Enforce clang-format" is moved from Ubuntu 22.04 to ubuntu-slim, which is a slim version of Ubuntu 24.04
"Build on Linux/macOS" has multiple updates on the runner images and compilers (see below)
in "Build on Linux/macOS",
bsdmake(which is deprecated) has been removed as a make implementation to test against,remakehas been addedThe change in version coverage of "Build on Linux/macOS" is the following (changes in bold):
I have successfully tested this updated CI on my fork. There are just a couple of warnings:
actions/upload-artifact 4.3.6 relies on the deprecated Node 20. This has been addressed by pull request Actions(deps): Bump actions/upload-artifact from 4.3.6 to 7.0.1 #224.
GitHub does not provide support for the experimental macOS 27 image (which is fine).