| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- name: analyzer
- on:
- push:
- branches:
- - master
- - wip
- jobs:
- iwyu:
- timeout-minutes: 30
- env:
- IWYU: "0.20"
- LLVM: "16"
- runs-on: ubuntu-latest
- continue-on-error: true
- steps:
- - uses: actions/checkout@v4
- - 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
|