diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 49d27809a89f..fe4243bdd488 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -16,6 +16,12 @@ jobs: strategy: matrix: image: ["fedora:latest"] # "opensuse/tumbleweed:latest" / "fedora:latest" / "debian:unstable" / "archlinux:latest" + use_libcxx: [Off, On] + include: + - use_libcxx: Off + stdlib: libstdc++ + - use_libcxx: On + stdlib: libc++ runs-on: ubuntu-22.04 if: ${{ github.repository_owner == 'danmar' }} @@ -87,7 +93,7 @@ jobs: - name: Prepare CMake run: | - cmake -S . -B cmake.output -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCPPCHK_GLIBCXX_DEBUG=Off -DUSE_MATCHCOMPILER=Off -DEXTERNALS_AS_SYSTEM=On + cmake -S . -B cmake.output -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCPPCHK_GLIBCXX_DEBUG=Off -DUSE_MATCHCOMPILER=Off -DEXTERNALS_AS_SYSTEM=On USE_LIBCXX=${{ matrix.use_libcxx }} env: CC: clang CXX: clang++ @@ -116,17 +122,26 @@ jobs: - uses: actions/upload-artifact@v4 if: success() || failure() with: - name: Compilation Database + name: Compilation Database (${{ matrix.stdlib }}) path: ./cmake.output/compile_commands.json - uses: actions/upload-artifact@v4 if: success() || failure() with: - name: Logs (include-what-you-use) + name: Logs (include-what-you-use - ${{ matrix.stdlib }}) path: ./*.log clang-include-cleaner: + strategy: + matrix: + use_libcxx: [Off, On] + include: + - use_libcxx: Off + stdlib: libstdc++ + - use_libcxx: On + stdlib: libc++ + runs-on: ubuntu-22.04 if: ${{ github.repository_owner == 'danmar' }} @@ -160,7 +175,7 @@ jobs: - name: Prepare CMake run: | - cmake -S . -B cmake.output -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCPPCHK_GLIBCXX_DEBUG=Off -DUSE_MATCHCOMPILER=Off -DEXTERNALS_AS_SYSTEM=On + cmake -S . -B cmake.output -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCPPCHK_GLIBCXX_DEBUG=Off -DUSE_MATCHCOMPILER=Off -DEXTERNALS_AS_SYSTEM=On USE_LIBCXX=${{ matrix.use_libcxx }} env: CC: clang-19 CXX: clang++-19 @@ -184,5 +199,5 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: Logs (clang-include-cleaner) + name: Logs (clang-include-cleaner - ${{ matrix.stdlib }}) path: ./*.log