Skip to content

Commit

Permalink
CI: Upgrade to newer versions
Browse files Browse the repository at this point in the history
Upgrade to Ubuntu 24.04, gcc14, clang18, emscripten 3.1.59
  • Loading branch information
frankosterfeld committed Sep 23, 2024
1 parent c823a5f commit 091d5c3
Showing 1 changed file with 18 additions and 20 deletions.
38 changes: 18 additions & 20 deletions .github/workflows/build_cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
types: [ created ]

env:
REFERENCE_CONFIG: 'Ubuntu Latest gcc13' # configuration used for coverage etc
REFERENCE_CONFIG: 'Ubuntu Latest gcc14' # configuration used for coverage etc

jobs:
build:
Expand All @@ -19,14 +19,14 @@ jobs:
fail-fast: false
matrix:
configurations:
- name: Ubuntu Latest gcc13
os: ubuntu-22.04
compiler: gcc13
- name: Ubuntu Latest clang17
os: ubuntu-22.04
compiler: clang17
- name: Ubuntu Latest gcc14
os: ubuntu-24.04
compiler: gcc14
- name: Ubuntu Latest clang18
os: ubuntu-24.04
compiler: clang18
- name: ubuntu-22.04 emscripten
os: ubuntu-22.04
os: ubuntu-24.04
compiler: emscripten
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
cmake-build-type: [ Release, Debug ]
Expand All @@ -49,25 +49,23 @@ jobs:
- name: Install gcovr
shell: bash
if: matrix.configurations.name == env.REFERENCE_CONFIG && matrix.cmake-build-type == 'Debug'
run: |
python3 -m pip install gcovr --user --no-warn-script-location
gcovr --version
run: sudo apt-get install -y gcovr

- name: Install gcc-13
if: matrix.configurations.compiler == 'gcc13'
- name: Install gcc-14
if: matrix.configurations.compiler == 'gcc14'
run: |
sudo apt-get install -y gcc-13 g++-13 # gcovr # packaged gcovr is too old for gcc13
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 110 --slave /usr/bin/g++ g++ /usr/bin/g++-13 --slave /usr/bin/gcov gcov /usr/bin/gcov-13
sudo apt-get install -y gcc-14 g++-14
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 110 --slave /usr/bin/g++ g++ /usr/bin/g++-14 --slave /usr/bin/gcov gcov /usr/bin/gcov-14
- name: Install clang-17
- name: Install clang-18
if: matrix.configurations.compiler == 'clang17'
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main'
sudo apt update
sudo apt upgrade -y # update clang14 to fix packaging conflicts
sudo apt install -y clang-17 libc++-17-dev libc++abi-17-dev
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-17 110
sudo apt install -y clang-18 libc++-18-dev libc++abi-18-dev
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-18 110
- name: Install emscripten
if: matrix.configurations.compiler == 'emscripten'
Expand All @@ -76,9 +74,9 @@ jobs:
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
# Download and install emscripten.
./emsdk install 3.1.43 # 01/2023 (latest = 3.1.46 -> 09/2023)
./emsdk install 3.1.59
# Make "active" for the current user. (writes .emscripten file)
./emsdk activate 3.1.43
./emsdk activate 3.1.59
- name: Install sonar-scanner and build-wrapper
if: matrix.configurations.name == env.REFERENCE_CONFIG && matrix.cmake-build-type == 'Debug'
Expand Down

0 comments on commit 091d5c3

Please sign in to comment.