Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/CI-unixish-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ on:

permissions:
contents: read

jobs:
build_cmake:

strategy:
matrix:
include:
- image: "ubuntu:24.04"
- image: "ubuntu:22.04"
with_gui: true
full_build: true
- image: "ubuntu:25.10"
Expand All @@ -32,7 +32,7 @@ jobs:
full_build: false # FIXME: test-signalhandler.cpp fails to build since feenableexcept() is missing
fail-fast: false # Prefer quick result

runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

# TODO: is this actually applied to the guest?
env:
Expand Down Expand Up @@ -87,10 +87,10 @@ jobs:

strategy:
matrix:
image: ["ubuntu:24.04", "ubuntu:25.10", "alpine:3.23"]
image: ["ubuntu:25.10", "alpine:3.23"]
fail-fast: false # Prefer quick result

runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

container:
image: ${{ matrix.image }}
Expand Down
55 changes: 30 additions & 25 deletions .github/workflows/CI-unixish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-22.04, macos-15]
os: [ubuntu-24.04, macos-15]
fail-fast: false # Prefer quick result

runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -75,7 +75,10 @@ jobs:

strategy:
matrix:
os: [ubuntu-22.04, macos-15]
os: [ubuntu-24.04, macos-15]
include:
- os: ubuntu-24.04
latest: true
fail-fast: false # Prefer quick result

runs-on: ${{ matrix.os }}
Expand All @@ -98,13 +101,13 @@ jobs:
# TODO: bail out on warnings with latest GCC
- name: Set up GCC
uses: egor-tensin/setup-gcc@v1
if: false # matrix.os == 'ubuntu-22.04'
if: false # matrix.os == 'ubuntu-24.04'
with:
version: 13
platform: x64

- name: Select compiler
if: false # matrix.os == 'ubuntu-22.04'
if: false # matrix.os == 'ubuntu-24.04'
run: |
echo "CXX=g++-13" >> $GITHUB_ENV

Expand Down Expand Up @@ -152,12 +155,12 @@ jobs:
cmake --build cmake.output --target install

- name: Run CMake on ubuntu (no CLI)
if: matrix.os == 'ubuntu-22.04'
if: matrix.latest
run: |
cmake -S . -B cmake.output_nocli -Werror=dev -DBUILD_TESTING=Off -DBUILD_CLI=Off

- name: Run CMake on ubuntu (no CLI / with tests)
if: matrix.os == 'ubuntu-22.04'
if: matrix.latest
run: |
# the test and CLI code are too intertwined so for now we need to reject that
if cmake -S . -B cmake.output_nocli_tests -Werror=dev -DBUILD_TESTING=On -DBUILD_CLI=Off; then
Expand All @@ -167,17 +170,17 @@ jobs:
fi

- name: Run CMake on ubuntu (no CLI / with GUI)
if: matrix.os == 'ubuntu-22.04'
if: matrix.latest
run: |
cmake -S . -B cmake.output_nocli_gui -Werror=dev -DBUILD_TESTING=Off -DBUILD_CLI=Off -DBUILD_GUI=On

- name: Run CMake on ubuntu (no GUI)
if: matrix.os == 'ubuntu-22.04'
if: matrix.latest
run: |
cmake -S . -B cmake.output_nogui -Werror=dev -DBUILD_TESTING=Off -DBUILD_GUI=Off

- name: Run CMake on ubuntu (no GUI / with triage)
if: matrix.os == 'ubuntu-22.04'
if: matrix.latest
run: |
# cannot build triage without GUI
if cmake -S . -B cmake.output_nogui_triage -Werror=dev -DBUILD_TESTING=Off -DBUILD_GUI=Off -DBUILD_TRIAGE=On; then
Expand All @@ -187,15 +190,15 @@ jobs:
fi

- name: Run CMake on ubuntu (no CLI / no GUI)
if: matrix.os == 'ubuntu-22.04'
if: matrix.latest
run: |
cmake -S . -B cmake.output_nocli_nogui -Werror=dev -DBUILD_TESTING=Off -DBUILD_GUI=Off

build_cmake_cxxstd:

strategy:
matrix:
os: [ubuntu-22.04, macos-15]
os: [ubuntu-24.04, macos-15]
cxxstd: [14, 17, 20]
# FIXME: macos-15 fails to compile with C++20
#
Expand Down Expand Up @@ -258,7 +261,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-22.04, macos-15]
os: [ubuntu-24.04, macos-15]
fail-fast: false # Prefer quick result

runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -292,7 +295,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-22.04, macos-15]
os: [ubuntu-24.04, macos-15]
fail-fast: false # Prefer quick result

runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -326,7 +329,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-22.04, macos-15]
os: [ubuntu-24.04, macos-15]
fail-fast: false # Prefer quick result

runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -409,7 +412,7 @@ jobs:

build_cmake_minimum: # TODO: move to docker workflow?

runs-on: ubuntu-22.04 # use the oldest available runner
runs-on: ubuntu-24.04 # use the oldest available runner

env:
CMAKE_VERSION: 3.22
Expand Down Expand Up @@ -447,9 +450,11 @@ jobs:

strategy:
matrix:
os: [ubuntu-22.04, macos-15]
os: [ubuntu-24.04, macos-15]
include:
- xdist_n: auto
- os: ubuntu-24.04
latest: true
# FIXME: test_color_tty fails with xdist - see #13278
- os: macos-15
xdist_n: '1'
Expand All @@ -474,8 +479,8 @@ jobs:
sudo apt-get install libxml2-utils

# packages for strict cfg checks
- name: Install missing software on ubuntu 22.04 (cfg)
if: matrix.os == 'ubuntu-22.04'
- name: Install missing software on ubuntu (cfg)
if: matrix.latest
run: |
sudo apt-get install libcairo2-dev libcurl4-openssl-dev liblua5.3-dev libssl-dev libsqlite3-dev libcppunit-dev libsigc++-2.0-dev libgtk-3-dev libboost-all-dev libselinux-dev libwxgtk3.0-gtk3-dev xmlstarlet qtbase5-dev

Expand Down Expand Up @@ -568,12 +573,12 @@ jobs:
TEST_CPPCHECK_INJECT_BUILDDIR: injected

- name: Run cfg tests
if: matrix.os != 'ubuntu-22.04'
if: ${{ !matrix.latest }}
run: |
make -j$(nproc) checkcfg

- name: Run cfg tests (strict)
if: matrix.os == 'ubuntu-22.04'
if: matrix.latest
run: |
make -j$(nproc) checkcfg
env:
Expand Down Expand Up @@ -649,7 +654,7 @@ jobs:

# TODO: run with "-n auto" when misra_test.py can be run in parallel
- name: test addons (Python)
if: matrix.os != 'ubuntu-22.04'
if: matrix.os != 'ubuntu-24.04'
run: |
python3 -m pytest -Werror --strict-markers -vv -n 1 addons/test
env:
Expand All @@ -658,20 +663,20 @@ jobs:
# TODO: run with "-n auto" when misra_test.py can be run in parallel
# we cannot specify -Werror since xml/etree/ElementTree.py in Python 3.10 contains an unclosed file
- name: test addons (Python)
if: matrix.os == 'ubuntu-22.04'
if: matrix.latest
run: |
python3 -m pytest --strict-markers -vv -n 1 addons/test
env:
PYTHONPATH: ./addons

- name: Build democlient
if: matrix.os == 'ubuntu-22.04'
if: matrix.latest
run: |
warnings="-pedantic -Wall -Wextra -Wcast-qual -Wno-deprecated-declarations -Wfloat-equal -Wmissing-declarations -Wmissing-format-attribute -Wno-long-long -Wpacked -Wredundant-decls -Wundef -Wno-shadow -Wno-missing-field-initializers -Wno-missing-braces -Wno-sign-compare -Wno-multichar"
g++ $warnings -c -Ilib -Iexternals/tinyxml2 democlient/democlient.cpp

- name: Test disabled executors
if: matrix.os == 'ubuntu-22.04'
if: matrix.latest
run: |
g++ -Ilib -c cli/threadexecutor.cpp -DDISALLOW_THREAD_EXECUTOR
test -z "$(nm threadexecutor.o)"
Expand Down Expand Up @@ -700,7 +705,7 @@ jobs:
selfcheck:
needs: build # wait for all tests to be successful first

runs-on: ubuntu-22.04 # run on the latest image only
runs-on: ubuntu-24.04 # run on the latest image only

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/buildman.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
path: output

manpage:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/clang-tidy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ permissions:
jobs:
build:

runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

env:
QT_VERSION: 6.10.0
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ permissions:
jobs:
analyze:
name: Analyze
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
security-events: write

Expand All @@ -36,7 +36,7 @@ jobs:
uses: actions/checkout@v4
with:
persist-credentials: false

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ permissions:
jobs:
build:

runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ permissions:
jobs:
build:

runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

env:
UNCRUSTIFY_VERSION: 0.80.1
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/iwyu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ jobs:
matrix:
# "opensuse/tumbleweed:latest" / "fedora:rawhide" / "debian:unstable" / "archlinux:latest"
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
image: "fedora:rawhide"
stdlib: libstdc++
- os: ubuntu-22.04
- os: ubuntu-24.04
image: "fedora:rawhide"
stdlib: libc++
- os: macos-26
Expand Down Expand Up @@ -191,7 +191,7 @@ jobs:
use_libcxx: On
fail-fast: false

runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
if: ${{ github.repository_owner == 'danmar' }}

env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sanitizers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
run_selfcheck: true
fail-fast: false

runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

env:
QT_VERSION: 6.10.0
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/scriptcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ permissions:
jobs:
build:

runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v4
Expand All @@ -45,7 +45,7 @@ jobs:
scriptcheck:

needs: build
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
matrix:
python-version: [3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13', '3.14']
Expand Down Expand Up @@ -203,7 +203,7 @@ jobs:
dmake:
strategy:
matrix:
os: [ubuntu-22.04, macos-15, windows-2025]
os: [ubuntu-24.04, macos-15, windows-2025]
fail-fast: false

runs-on: ${{ matrix.os }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/selfcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ permissions:
jobs:
build:

runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

env:
QT_VERSION: 6.10.0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/valgrind.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ permissions:
jobs:
build:

runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v4
Expand Down
Loading