From 36b07d41af0d5276344fd17cac35111c3d09d3fe Mon Sep 17 00:00:00 2001 From: arch1t3cht Date: Thu, 26 Dec 2024 19:41:45 +0100 Subject: [PATCH] Use clang on Ubuntu 22 CI and add Ubuntu 24 Ubuntu 22 uses gcc 11 which breaks agi::fs::path due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95048 To still have a CI that tests gcc, also add Ubuntu 24. ubuntu-latest currently still uses Ubuntu 22, but will switch to 24 soon: https://github.com/actions/runner-images/issues/10636 --- .github/workflows/ci.yml | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e4cf7dfb0..87df185c7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,14 +40,26 @@ jobs: # msvc: false #} - { - name: Ubuntu Debug, - os: ubuntu-latest, + name: Ubuntu 22 Debug, + os: ubuntu-22.04, buildtype: debugoptimized, args: '' } - { - name: Ubuntu Release, - os: ubuntu-latest, + name: Ubuntu 22 Release, + os: ubuntu-22.04, + buildtype: release, + args: '' + } + - { + name: Ubuntu 24 Debug, + os: ubuntu-24.04, + buildtype: debugoptimized, + args: '' + } + - { + name: Ubuntu 24 Release, + os: ubuntu-24.04, buildtype: release, args: '' } @@ -116,10 +128,17 @@ jobs: brew install pulseaudio # NO OpenAL in github CI - name: Install dependencies (Linux) - if: matrix.config.os == 'ubuntu-latest' + if: startsWith(matrix.config.os, 'ubuntu-') run: | sudo apt-get update - sudo apt-get install ninja-build build-essential libx11-dev libwxgtk3.0-gtk3-dev libfreetype6-dev pkg-config libfontconfig1-dev libass-dev libasound2-dev libffms2-dev intltool libboost-all-dev libhunspell-dev libcurl4-openssl-dev libuchardet-dev + sudo apt-get install ninja-build build-essential libx11-dev libfreetype6-dev pkg-config libfontconfig1-dev libass-dev libasound2-dev libffms2-dev intltool libboost-all-dev libhunspell-dev libcurl4-openssl-dev libuchardet-dev ${{ matrix.config.os == 'ubuntu-22.04' && 'libwxgtk3.0-gtk3-dev' || 'libwxgtk3.2-gtk3-dev' }} + + - name: Set compiler (Linux) + if: matrix.config.os == 'ubuntu-22.04' + run: | + # We need to use Clang on Ubuntu 22 to avoid a bug with GCC 11 + echo "CC=clang" >> $GITHUB_ENV + echo "CXX=clang++" >> $GITHUB_ENV - name: Configure run: meson setup build ${{ matrix.config.args }} -Dbuildtype=${{ matrix.config.buildtype }} ${{ github.ref_type == 'tag' && '-Dofficial_release=true' || '' }}