Skip to content

Multiple updates for our CI workflows - #223

Open
edgar-bonet wants to merge 6 commits into
tenox7:masterfrom
edgar-bonet:update-ci
Open

edgar-bonet wants to merge 6 commits into
tenox7:masterfrom
edgar-bonet:update-ci

Conversation

@edgar-bonet

Copy link
Copy Markdown
Collaborator

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, remake has been added

The change in version coverage of "Build on Linux/macOS" is the following (changes in bold):

component currently this PR
Ubuntu 22.04, 24.04 22.04, 24.04, 26.04
macOS 14, 15, 26 15, 26, 27
gcc 13, 14, 15 11, 13, 15
clang 18, 20 18, 20, 22

I have successfully tested this updated CI on my fork. There are just a couple of warnings:

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.
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.

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.

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 bsdmake from the test matrix: it has been deprecated (it's
unmaintained).

Add remake (GNU make fork with improved error reporting and debugging).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant