From e06d6651670929174b1fd44024e093a3ef234f74 Mon Sep 17 00:00:00 2001 From: Martijn Govers Date: Fri, 2 Oct 2026 11:09:54 +0200 Subject: [PATCH 1/7] ubuntu-26.04 Signed-off-by: Martijn Govers --- .github/workflows/build-test-release.yml | 8 ++++---- .github/workflows/check-build-reproducibility.yml | 2 +- .github/workflows/check-code-quality.yml | 2 +- .github/workflows/citations.yml | 2 +- .github/workflows/clang-tidy.yml | 2 +- .github/workflows/reuse-compliance.yml | 2 +- .github/workflows/sonar.yml | 2 +- .github/workflows/thread-sanitizer.yml | 2 +- docs/advanced_documentation/build-guide.md | 6 +++--- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-test-release.yml b/.github/workflows/build-test-release.yml index 887df95080..e35c40326f 100644 --- a/.github/workflows/build-test-release.yml +++ b/.github/workflows/build-test-release.yml @@ -20,7 +20,7 @@ concurrency: jobs: acquire-python-version-build-sdist: name: Build sdist and set version - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -50,7 +50,7 @@ jobs: path: ./wheelhouse/*.tar.gz build-cpp-test-linux: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 strategy: matrix: build-option: [debug, release] @@ -164,10 +164,10 @@ jobs: platform: [linux-x64, linux-aarch64, macos-arm64, macos-x64, windows] include: - platform: linux-x64 - os: ubuntu-24.04 + os: ubuntu-26.04 cibw_build: "*_x86_64" - platform: linux-aarch64 - os: ubuntu-24.04-arm + os: ubuntu-26.04-arm cibw_build: "*_aarch64" - platform: macos-arm64 os: macos-26 diff --git a/.github/workflows/check-build-reproducibility.yml b/.github/workflows/check-build-reproducibility.yml index 2e62f4547e..8221e02d02 100644 --- a/.github/workflows/check-build-reproducibility.yml +++ b/.github/workflows/check-build-reproducibility.yml @@ -19,7 +19,7 @@ jobs: check-power-grid-model-c-linux: strategy: matrix: - os: [ubuntu-latest, ubuntu-24.04-arm] + os: [ubuntu-latest, ubuntu-26.04-arm] compiler: [gcc, clang] runs-on: ${{ matrix.os }} diff --git a/.github/workflows/check-code-quality.yml b/.github/workflows/check-code-quality.yml index c4a2444004..a694009332 100644 --- a/.github/workflows/check-code-quality.yml +++ b/.github/workflows/check-code-quality.yml @@ -21,7 +21,7 @@ concurrency: jobs: check-code-quality: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: Checkout diff --git a/.github/workflows/citations.yml b/.github/workflows/citations.yml index c0dbe8f0a8..05aab03227 100644 --- a/.github/workflows/citations.yml +++ b/.github/workflows/citations.yml @@ -27,7 +27,7 @@ concurrency: jobs: validate-citations: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index 5a039899ef..85f9624a0b 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -36,7 +36,7 @@ concurrency: jobs: clang-tidy: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 strategy: matrix: build-option: [ debug, release ] diff --git a/.github/workflows/reuse-compliance.yml b/.github/workflows/reuse-compliance.yml index 2bfe22928b..0632f8d4cb 100644 --- a/.github/workflows/reuse-compliance.yml +++ b/.github/workflows/reuse-compliance.yml @@ -16,7 +16,7 @@ concurrency: jobs: reuse-compliance-check: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml index 9a4cdf07db..d247e157ea 100644 --- a/.github/workflows/sonar.yml +++ b/.github/workflows/sonar.yml @@ -21,7 +21,7 @@ concurrency: jobs: sonar-cloud: name: SonarCloud - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 env: BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed CMAKE_PREFIX_PATH: /home/linuxbrew/.linuxbrew diff --git a/.github/workflows/thread-sanitizer.yml b/.github/workflows/thread-sanitizer.yml index 78b2f3e7f8..fef6785db7 100644 --- a/.github/workflows/thread-sanitizer.yml +++ b/.github/workflows/thread-sanitizer.yml @@ -19,7 +19,7 @@ concurrency: jobs: thread-sanitizer-linux: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 strategy: matrix: build-option: [debug, release] diff --git a/docs/advanced_documentation/build-guide.md b/docs/advanced_documentation/build-guide.md index 2a3d1dc94b..a03b335088 100644 --- a/docs/advanced_documentation/build-guide.md +++ b/docs/advanced_documentation/build-guide.md @@ -36,7 +36,7 @@ It automatically sets up the entire environment so you can start developing imme To build the library from source, you need to first prepare the compiler toolchains and the build dependencies. In this section a list of general requirements are given. -After this section there are examples of setup in Linux (Ubuntu 24.04), Windows 11, and macOS (Tahoe). +After this section there are examples of setup in Linux (ubuntu 26.04), Windows 11, and macOS (Tahoe). ### Architecture Support @@ -245,9 +245,9 @@ Usage: ./build.sh -p [-c] [-e] [-i] [-t] To list the available presets, run `./build.sh -h`. -## Example Setup for Ubuntu 24.04 (in WSL or physical/virtual machine) +## Example Setup for ubuntu 26.04 (in WSL or physical/virtual machine) -In this section an example is given for setup in Ubuntu 24.04. +In this section an example is given for setup in ubuntu 26.04. You can use this example in Windows Subsystem for Linux (WSL), or in a physical/virtual machine. While you can use `apt`, setup via [Homebrew](https://brew.sh) has proved to be much simpler. From 8203f274709794bb4279f455bd795c597fd5664b Mon Sep 17 00:00:00 2001 From: Martijn Govers Date: Wed, 7 Oct 2026 09:20:37 +0200 Subject: [PATCH 2/7] no more binary equivalence due to glibc bump Signed-off-by: Martijn Govers --- tests/cpp_unit_tests/math_solver/test_math_solver_se.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/cpp_unit_tests/math_solver/test_math_solver_se.hpp b/tests/cpp_unit_tests/math_solver/test_math_solver_se.hpp index 3df46ef009..623088d1ef 100644 --- a/tests/cpp_unit_tests/math_solver/test_math_solver_se.hpp +++ b/tests/cpp_unit_tests/math_solver/test_math_solver_se.hpp @@ -809,9 +809,9 @@ TEST_CASE_TEMPLATE_DEFINE("Test math solver - SE, measurements", SolverType, tes // NRSE solver CHECK(true); } else { - CHECK(output.bus_injection[0] == output.branch[0].s_f); - CHECK(output.bus_injection[0] == output.source[0].s); - CHECK(output.bus_injection[1] == output.branch[0].s_t); + check_close(output.bus_injection[0] == output.branch[0].s_f); + check_close(output.bus_injection[0] == output.source[0].s); + check_close(output.bus_injection[1] == output.branch[0].s_t); CHECK(real(output.bus_injection[1]) == doctest::Approx(real(load_gen_s))); } } From c5ce4a1b07cb6f0f5cf87ed7551238cfec75390e Mon Sep 17 00:00:00 2001 From: Martijn Govers Date: Wed, 7 Oct 2026 09:31:07 +0200 Subject: [PATCH 3/7] fix typo Signed-off-by: Martijn Govers --- tests/cpp_unit_tests/math_solver/test_math_solver_se.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/cpp_unit_tests/math_solver/test_math_solver_se.hpp b/tests/cpp_unit_tests/math_solver/test_math_solver_se.hpp index 623088d1ef..82211d5ecd 100644 --- a/tests/cpp_unit_tests/math_solver/test_math_solver_se.hpp +++ b/tests/cpp_unit_tests/math_solver/test_math_solver_se.hpp @@ -809,9 +809,9 @@ TEST_CASE_TEMPLATE_DEFINE("Test math solver - SE, measurements", SolverType, tes // NRSE solver CHECK(true); } else { - check_close(output.bus_injection[0] == output.branch[0].s_f); - check_close(output.bus_injection[0] == output.source[0].s); - check_close(output.bus_injection[1] == output.branch[0].s_t); + check_close(output.bus_injection[0], output.branch[0].s_f); + check_close(output.bus_injection[0], output.source[0].s); + check_close(output.bus_injection[1], output.branch[0].s_t); CHECK(real(output.bus_injection[1]) == doctest::Approx(real(load_gen_s))); } } From 284f00be5c848773e9eb5e9645966fb04bdf28c6 Mon Sep 17 00:00:00 2001 From: Martijn Govers Date: Wed, 7 Oct 2026 10:24:30 +0200 Subject: [PATCH 4/7] minor forgotten ubuntu-latest Signed-off-by: Martijn Govers --- .github/workflows/check-build-reproducibility.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-build-reproducibility.yml b/.github/workflows/check-build-reproducibility.yml index 8221e02d02..70766aebca 100644 --- a/.github/workflows/check-build-reproducibility.yml +++ b/.github/workflows/check-build-reproducibility.yml @@ -19,7 +19,7 @@ jobs: check-power-grid-model-c-linux: strategy: matrix: - os: [ubuntu-latest, ubuntu-26.04-arm] + os: [ubuntu-26.04, ubuntu-26.04-arm] compiler: [gcc, clang] runs-on: ${{ matrix.os }} From eeca43708712d0b88064d0f768a698efcf957fd3 Mon Sep 17 00:00:00 2001 From: Martijn Govers Date: Wed, 7 Oct 2026 10:25:08 +0200 Subject: [PATCH 5/7] bump readthedocs Signed-off-by: Martijn Govers --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 6ac3f1ca39..f9b74d03da 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -9,7 +9,7 @@ sphinx: configuration: docs/conf.py build: - os: "ubuntu-24.04" + os: "ubuntu-26.04" apt_packages: - graphviz - gcc-14 From 22dbd3de81a26d5567a9e3a752d94f71ba5a9f38 Mon Sep 17 00:00:00 2001 From: Martijn Govers Date: Wed, 7 Oct 2026 11:07:44 +0200 Subject: [PATCH 6/7] typos Signed-off-by: Martijn Govers --- docs/advanced_documentation/build-guide.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/advanced_documentation/build-guide.md b/docs/advanced_documentation/build-guide.md index a03b335088..9984dc077d 100644 --- a/docs/advanced_documentation/build-guide.md +++ b/docs/advanced_documentation/build-guide.md @@ -36,7 +36,7 @@ It automatically sets up the entire environment so you can start developing imme To build the library from source, you need to first prepare the compiler toolchains and the build dependencies. In this section a list of general requirements are given. -After this section there are examples of setup in Linux (ubuntu 26.04), Windows 11, and macOS (Tahoe). +After this section there are examples of setup in Linux (Ubuntu 26.04), Windows 11, and macOS (Tahoe). ### Architecture Support @@ -245,9 +245,9 @@ Usage: ./build.sh -p [-c] [-e] [-i] [-t] To list the available presets, run `./build.sh -h`. -## Example Setup for ubuntu 26.04 (in WSL or physical/virtual machine) +## Example Setup for Ubuntu 26.04 (in WSL or physical/virtual machine) -In this section an example is given for setup in ubuntu 26.04. +In this section an example is given for setup in Ubuntu 26.04. You can use this example in Windows Subsystem for Linux (WSL), or in a physical/virtual machine. While you can use `apt`, setup via [Homebrew](https://brew.sh) has proved to be much simpler. From 9bdff450f591daaf0b16a6d72ca323b65bbdca6e Mon Sep 17 00:00:00 2001 From: Martijn Govers Date: Wed, 7 Oct 2026 11:22:22 +0200 Subject: [PATCH 7/7] debian split graphviz-tools package Signed-off-by: Martijn Govers --- .readthedocs.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index f9b74d03da..9651dc1aba 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -12,6 +12,8 @@ build: os: "ubuntu-26.04" apt_packages: - graphviz + - graphviz-tools + - libgvplugin-neato-layout8 - gcc-14 - g++-14 tools: