Skip to content

Compilers version bump - #1631

Merged
figueroa1395 merged 10 commits into
mainfrom
pgm/feature/compiler-bump
Oct 19, 2026
Merged

figueroa1395 merged 10 commits into
mainfrom
pgm/feature/compiler-bump

Conversation

@figueroa1395

@figueroa1395 figueroa1395 commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

With the CI runners being bumped to Ubuntu 26.06 in #1628, it's only natural that we bump the compilers to the newest supported versions. See the GitHub's Ubuntu 26.05 readme for more information.

The new defaults are:

  • gcc/g++ 15 - ubuntu docs.
  • clang 21 - ubuntu docs.

But we can already bump to gcc/g++ 16 and clang 22, as those are the latest available versions.

I did not upgrade clang-tidy on purpose as this will mean larger changes. However, note that clang-tidy 22 is now available as "default" as well.

Note: There seems to be a bug/regression in clang-22 as stated in #1631 (comment). So a few adjustments needed to be done in this PR for us to migrate. That said, the issue is known (see llvm/llvm-project#162023) and the fix is equally valid, so we don't need to do anything about it.

Signed-off-by: Santiago Figueroa Manrique <santiago.figueroa.manrique@alliander.com>
Signed-off-by: Santiago Figueroa Manrique <santiago.figueroa.manrique@alliander.com>
@figueroa1395 figueroa1395 self-assigned this Oct 7, 2026
@figueroa1395 figueroa1395 added the feature New feature or request label Oct 7, 2026
Signed-off-by: Santiago Figueroa Manrique <santiago.figueroa.manrique@alliander.com>
Comment thread docs/advanced_documentation/build-guide.md Outdated
mgovers
mgovers previously approved these changes Oct 7, 2026
Signed-off-by: Santiago Figueroa Manrique <santiago.figueroa.manrique@alliander.com>
Comment thread .github/workflows/build-test-release.yml Outdated
figueroa1395 and others added 2 commits October 16, 2026 09:33
Signed-off-by: Santiago Figueroa Manrique <santiago.figueroa.manrique@alliander.com>
@figueroa1395 figueroa1395 added the do-not-merge This should not be merged temporarily label Oct 16, 2026
@figueroa1395

Copy link
Copy Markdown
Member Author

Added do-not-merge label to prevent Friday release.

Signed-off-by: Santiago Figueroa Manrique <santiago.figueroa.manrique@alliander.com>
Signed-off-by: Santiago Figueroa Manrique <santiago.figueroa.manrique@alliander.com>
Comment thread .github/workflows/check-code-quality.yml
Signed-off-by: Santiago Figueroa Manrique <santiago.figueroa.manrique@alliander.com>
TonyXiang8787
TonyXiang8787 previously approved these changes Oct 16, 2026
@figueroa1395 figueroa1395 removed the do-not-merge This should not be merged temporarily label Oct 19, 2026
@figueroa1395
figueroa1395 disabled auto-merge October 19, 2026 08:33
@figueroa1395
figueroa1395 added this pull request to the merge queue Oct 19, 2026
Comment thread docs/advanced_documentation/build-guide.md Outdated
@figueroa1395
figueroa1395 removed this pull request from the merge queue due to a manual request Oct 19, 2026
Co-authored-by: Martijn Govers <martijn.govers@alliander.com>
Signed-off-by: Santiago Figueroa Manrique <22895394+figueroa1395@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@figueroa1395
figueroa1395 added this pull request to the merge queue Oct 19, 2026
Merged via the queue into main with commit 7856f69 Oct 19, 2026
34 checks passed
@figueroa1395
figueroa1395 deleted the pgm/feature/compiler-bump branch October 19, 2026 11:16
bferanmi806-sketch added a commit to bferanmi806-sketch/power-grid-model that referenced this pull request Oct 21, 2026
- Bump GCC/G++ to 16 and Clang to 22, matching CI after PowerGridModel#1631.
- Isolate cpp_build in a per-checkout Docker volume so host-generated
  CMakeCache.txt files cannot break presets such as clang-debug.
- Add and configure the clang-format extension, using the version pinned
  in uv.lock so editor formatting matches CI.
- Install uv and document pre-commit, formatting and REUSE workflows.
- Document how to verify the selected compiler and reset the build volume.
bferanmi806-sketch added a commit to bferanmi806-sketch/power-grid-model that referenced this pull request Oct 21, 2026
Provide a separately selectable C++ development container alongside the
default Python container (issue PowerGridModel#1272).

The container is based on Ubuntu 26.04 and mirrors the Linux CI toolchain
after PowerGridModel#1631: gcc-16/g++-16, clang-22, clang-tidy-18, CMake, Ninja, gdb and
the C++ dependencies from the build guide (boost, eigen3, nlohmann-json,
msgpack-cxx, doctest). It reuses the gcc-debug/clang-debug CMake presets and
the existing VS Code debug configurations.

cpp_build is kept in a per-checkout Docker volume. CMake caches contain
absolute paths, so sharing that directory with the host made presets fail
with a CMakeCache.txt directory mismatch (reported for clang-debug).

The clang-format extension uses the version pinned in uv.lock, which is the
same version CI runs through pre-commit, and the documentation now covers
formatting, REUSE, pre-commit and compiler verification.

Signed-off-by: Balogun Feranmi <bferanmi806@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants