CI: Update the GCC pipeline to GCC 14

Although GCC 15 is released, it is not available on Ubuntu 22.04 LTS via
the ubuntu-toolchain-r/test PPA.
This commit is contained in:
Timothy Flynn 2025-05-11 14:36:30 -04:00 committed by Andrew Kaster
commit a65bbae4c9
Notes: github-actions[bot] 2025-05-14 08:07:18 +00:00
3 changed files with 11 additions and 9 deletions

View file

@ -31,21 +31,23 @@ runs:
run: | run: |
set -e set -e
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo add-apt-repository 'deb http://apt.llvm.org/noble/ llvm-toolchain-noble-19 main' sudo add-apt-repository 'deb http://apt.llvm.org/noble/ llvm-toolchain-noble-19 main'
sudo apt-get update -y sudo apt-get update -y
sudo apt-get install -y autoconf autoconf-archive automake build-essential ccache cmake curl fonts-liberation2 \ sudo apt-get install -y autoconf autoconf-archive automake build-essential ccache cmake curl fonts-liberation2 \
gcc-13 g++-13 libcurl4-openssl-dev libegl1-mesa-dev libgl1-mesa-dev libpulse-dev libssl-dev \ gcc-14 g++-14 libcurl4-openssl-dev libegl1-mesa-dev libgl1-mesa-dev libpulse-dev libssl-dev \
libstdc++-13-dev lld-19 nasm ninja-build qt6-base-dev qt6-tools-dev-tools tar unzip zip libstdc++-14-dev lld-19 nasm ninja-build qt6-base-dev qt6-tools-dev-tools tar unzip zip
if ${{ inputs.toolchain == 'Clang' }} ; then if ${{ inputs.toolchain == 'Clang' }} ; then
sudo apt-get install -y clang-19 clang++-19 clang-tools-19 sudo apt-get install -y clang-19 clang++-19 clang-tools-19
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-19 100 sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-19 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-19 100 sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-19 100
fi fi
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100
# FIXME: https://github.com/WebAssembly/wabt/issues/2533 # FIXME: https://github.com/WebAssembly/wabt/issues/2533
# wabt doesn't have binary releases for arm64 Linux # wabt doesn't have binary releases for arm64 Linux

View file

@ -74,8 +74,8 @@ jobs:
echo "host_cc=clang-19" >> "$GITHUB_OUTPUT" echo "host_cc=clang-19" >> "$GITHUB_OUTPUT"
echo "host_cxx=clang++-19" >> "$GITHUB_OUTPUT" echo "host_cxx=clang++-19" >> "$GITHUB_OUTPUT"
elif ${{ inputs.toolchain == 'GNU' }} ; then elif ${{ inputs.toolchain == 'GNU' }} ; then
echo "host_cc=gcc-13" >> "$GITHUB_OUTPUT" echo "host_cc=gcc-14" >> "$GITHUB_OUTPUT"
echo "host_cxx=g++-13" >> "$GITHUB_OUTPUT" echo "host_cxx=g++-14" >> "$GITHUB_OUTPUT"
fi fi
elif ${{ inputs.os_name == 'macOS' }} ; then elif ${{ inputs.os_name == 'macOS' }} ; then
echo "host_cc=$(xcrun --find clang)" >> "$GITHUB_OUTPUT" echo "host_cc=$(xcrun --find clang)" >> "$GITHUB_OUTPUT"

View file

@ -4,7 +4,7 @@
Qt6 development packages, nasm, additional build tools, and a C++23 capable compiler are required. Qt6 development packages, nasm, additional build tools, and a C++23 capable compiler are required.
We currently use gcc-13 and clang-19 in our CI pipeline. If these versions are not available on your system, see We currently use gcc-14 and clang-19 in our CI pipeline. If these versions are not available on your system, see
[`Meta/find_compiler.sh`](../Meta/find_compiler.sh) for the minimum compatible version. [`Meta/find_compiler.sh`](../Meta/find_compiler.sh) for the minimum compatible version.
CMake 3.25 or newer must be available in $PATH. CMake 3.25 or newer must be available in $PATH.
@ -62,7 +62,7 @@ sudo apt update -y && sudo apt install clang-19 clangd-19 clang-tools-19 clang-f
```bash ```bash
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update && sudo apt install g++-13 libstdc++-13-dev sudo apt update && sudo apt install g++-14 libstdc++-14-dev
``` ```
#### Audio support: #### Audio support:
@ -94,7 +94,7 @@ sudo dnf install autoconf-archive automake ccache cmake curl liberation-sans-fon
### openSUSE: ### openSUSE:
``` ```
sudo zypper install autoconf-archive automake ccache cmake curl gcc13 gcc13-c++ liberation-fonts libglvnd-devel nasm ninja qt6-base-devel qt6-multimedia-devel qt6-tools-devel qt6-wayland-devel tar unzip zip sudo zypper install autoconf-archive automake ccache cmake curl gcc14 gcc14-c++ liberation-fonts libglvnd-devel nasm ninja qt6-base-devel qt6-multimedia-devel qt6-tools-devel qt6-wayland-devel tar unzip zip
``` ```
The build process requires at least python3.7; openSUSE Leap only features Python 3.6 as default, so it is recommendable to install package python311 and create a virtual environment (venv) in this case. The build process requires at least python3.7; openSUSE Leap only features Python 3.6 as default, so it is recommendable to install package python311 and create a virtual environment (venv) in this case.