Skip to content

Enhance CI#135

Merged
Flamefire merged 10 commits into
mat007:mainfrom
Flamefire:enhance-ci
Jul 5, 2026
Merged

Enhance CI#135
Flamefire merged 10 commits into
mat007:mainfrom
Flamefire:enhance-ci

Conversation

@Flamefire

Copy link
Copy Markdown
Collaborator
  • Add newer compilers
    • GCC 15 & 16
    • Clang 19-22
    • MSVC 2026
  • Show B2 parameters (full invocation)
  • Handle C++ standards passed to B2 in CMake CI ("latest"->"", "2b"->"20", "2c"->"23") so CMake understands it
  • Ignore -Wc2y-extensions on CI emitted by Clang 22 due to Boost.Test
  • Ignore LCov warnings inconsistent,mismatch,unused, false positives mostly due to Boost.Test magic
  • Fix MinGW tests: Seg fault due to picking up conflicting libstdc++-6.dll (/mingw64 and Git-MinGW)

Flamefire added 10 commits June 29, 2026 12:30
Triggered by use of `__COUNTER__` in Boost.Test
Use GCC 13 for coverage
Using a container seems to conflict with the upload action, likely as
paths are different.
The runners have MinGW installed in 2 locations:
- C:\Program Files\Git\mingw64 uses msvcrt.dll and ucrtbase.dll
- C:\mingw64 uses only (the new) ucrtbase.dll

CMake is using the compiler from C:\mingw64 but at runtime it is still loading the
`libstdc++-6.dll` from the Git-MinGW as it is started from the Git bash.

This causes conflicts with functions compiled into the executable and those used by the runtime.
Most notably the string from `abi::__cxa_demangle` is allocated on a different heap
so freeing it with `free` called from the executable corrupts the heap leading to a SIGSEGV / Exit code 0xc0000374 in the tests.

B2 doesn't suffer from this as it modifies `$PATH` when running each test such that the right libraries are used.
Do it similarly in the GHA-CI config.
@Flamefire
Flamefire merged commit 53aa393 into mat007:main Jul 5, 2026
23 checks passed
@Flamefire
Flamefire deleted the enhance-ci branch July 5, 2026 09:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant