diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh index 9f52026f..6e97c865 100755 --- a/.github/scripts/install_deps.sh +++ b/.github/scripts/install_deps.sh @@ -20,10 +20,14 @@ case "${OS%%-*}" in pkgs="$pkgs libz-mingw-w64-dev g++-mingw-w64-x86-64-win32" TOOLSET= ;; - '' | lcov) + g++-9 | lcov) pkgs="$pkgs libpng-dev pkgconf $TOOLSET" TOOLSET= ;; + '' | g++ | clang++) + pkgs="$pkgs libpng-dev pkgconf" + TOOLSET= + ;; esac sudo apt-get update -qq # shellcheck disable=SC2086 # (This word splitting is intentional.) @@ -32,10 +36,13 @@ case "${OS%%-*}" in macos) pkgs=bison case $TOOLSET in - '' | lld) + lld) pkgs="$pkgs $TOOLSET" TOOLSET= ;; + clang++) + TOOLSET= + ;; esac # macOS bundles GNU Make 3.81, which doesn't support synced output. # We leave it as the default in `PATH`, to test that our Makefile works with it. diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 5935ebad..a1f2eb3c 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -40,6 +40,9 @@ jobs: exclude: # Don't use `g++` on macOS; it's just an alias to `clang++`. - { os: macos-15-intel, cxx: g++ } - { os: macos-26, cxx: g++ } + include: # Use `g++-9`, the earliest GCC version we support, on the earliest Ubuntu runner. + - { os: ubuntu-22.04, cxx: g++-9, buildsys: make } + - { os: ubuntu-22.04, cxx: g++-9, buildsys: cmake } fail-fast: false runs-on: ${{ matrix.os }} steps: @@ -47,7 +50,7 @@ jobs: uses: actions/checkout@v6 - name: Install deps run: | - .github/scripts/install_deps.sh ${{ matrix.os }} + .github/scripts/install_deps.sh ${{ matrix.os }} ${{ matrix.cxx }} - name: Build & install using Make if: matrix.buildsys == 'make' run: |