diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 923d612..7b4b449 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -25,11 +25,10 @@ jobs: matrix: os: [ubuntu-latest] build_type: [Release] - c_compiler: [clang] include: - os: ubuntu-latest - c_compiler: clang - cpp_compiler: clang++ + c_compiler: /usr/bin/clang-18 + cpp_compiler: /usr/bin/clang++-18 steps: - uses: actions/checkout@v4 @@ -40,10 +39,18 @@ jobs: sudo apt-get install -y wget lsb-release software-properties-common wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh - sudo ./llvm.sh 16 - sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-16 90 + sudo ./llvm.sh 18 + git clone --depth=1 https://github.com/llvm/llvm-project.git + cd llvm-project + git fetch --unshallow + mkdir build + cd build + cmake -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ../llvm + make -j24 + make install + sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 90 + sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 90 - - name: Set reusable strings # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. id: strings