name: analyzer on: push: branches: - master - wip jobs: iwyu: timeout-minutes: 30 env: IWYU: 0.19 LLVM: 15 runs-on: ubuntu-latest continue-on-error: true steps: - uses: actions/checkout@v3 - name: Install llvm/clang # see: https://apt.llvm.org/ run: | wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-$LLVM main" sudo apt update sudo apt remove -y "llvm*" sudo apt remove -y "libclang-dev*" sudo apt remove -y "clang*" sudo apt install -y llvm-$LLVM-dev sudo apt install -y libclang-$LLVM-dev sudo apt install -y clang-$LLVM - name: Compile iwyu # see: https://github.com/include-what-you-use/include-what-you-use working-directory: build run: | git clone https://github.com/include-what-you-use/include-what-you-use.git --branch $IWYU --depth 1 mkdir include-what-you-use/build cd include-what-you-use/build cmake -DCMAKE_C_COMPILER=clang-$LLVM \ -DCMAKE_CXX_COMPILER=clang++-$LLVM \ -DCMAKE_INSTALL_PREFIX=./ \ .. make -j4 bin/include-what-you-use --version - name: Compile tests working-directory: build run: | export PATH=$PATH:${GITHUB_WORKSPACE}/build/include-what-you-use/build/bin cmake -DCMAKE_C_COMPILER=clang-$LLVM \ -DCMAKE_CXX_COMPILER=clang++-$LLVM \ -DENTT_BUILD_TESTING=ON \ -DENTT_BUILD_BENCHMARK=ON \ -DENTT_BUILD_EXAMPLE=ON \ -DENTT_BUILD_LIB=ON \ -DENTT_BUILD_SNAPSHOT=ON \ -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-Xiwyu;--mapping_file=${GITHUB_WORKSPACE}/entt.imp;-Xiwyu;--no_fwd_decls;-Xiwyu;--verbose=1" \ .. make -j4