Skip to content
Merged
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
82 changes: 0 additions & 82 deletions .github/workflows/iwyu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -148,88 +148,6 @@ jobs:
name: Logs (include-what-you-use - ${{ matrix.os }} ${{ matrix.stdlib }})
path: ./*.log

clang-include-cleaner:

strategy:
matrix:
stdlib: [libstdc++, libc++]
fail-fast: false

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

env:
QT_VERSION: 6.8.1

steps:
- uses: actions/checkout@v4
with:
persist-credentials: false

- name: Install missing software
run: |
sudo apt-get update
sudo apt-get install -y cmake make libpcre3-dev
sudo apt-get install -y libgl-dev # missing dependency for using Qt in CMake

- name: Install clang
run: |
sudo apt-get purge --auto-remove llvm python3-lldb-14 llvm-14
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 19
sudo apt-get install -y clang-tools-19

- name: Install libc++
if: matrix.stdlib == 'libc++'
run: |
sudo apt-get install -y libc++-19-dev

- name: Install Qt ${{ env.QT_VERSION }}
uses: jurplel/install-qt-action@v4
with:
version: ${{ env.QT_VERSION }}
modules: 'qtcharts'
install-deps: false
cache: true

- name: Prepare CMake
run: |
# TODO: why does it build dmake in the next step?
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 -DUSE_LIBCXX=${{ matrix.stdlib == 'libc++' }}
env:
CC: clang-19
CXX: clang++-19

- name: Prepare CMake dependencies
run: |
# make sure the auto-generated GUI sources exist
make -C cmake.output autogen
# make sure the precompiled headers exist
#make -C cmake.output/cli cmake_pch.hxx.pch
#make -C cmake.output/gui cmake_pch.hxx.pch
#make -C cmake.output/lib cmake_pch.hxx.pch
#make -C cmake.output/test cmake_pch.hxx.pch
# make sure the auto-generated GUI dependencies exist
make -C cmake.output gui-build-deps

- name: clang-include-cleaner
run: |
# TODO: run multi-threaded
find $PWD/cli $PWD/lib $PWD/test $PWD/gui -maxdepth 1 -name "*.cpp" | xargs -t -n 1 clang-include-cleaner-19 --print=changes --extra-arg=-w --extra-arg=-stdlib=${{ matrix.stdlib }} -p cmake.output > clang-include-cleaner.log 2>&1

- uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: Compilation Database (clang-include-cleaner - ${{ matrix.stdlib }})
path: ./cmake.output/compile_commands.json

- uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: Logs (clang-include-cleaner - ${{ matrix.stdlib }})
path: ./*.log

clang-include-cleaner:

strategy:
Expand Down