diff --git a/.github/workflows/llvm.yaml b/.github/workflows/llvm.yaml new file mode 100644 index 0000000000..9bd6ec0195 --- /dev/null +++ b/.github/workflows/llvm.yaml @@ -0,0 +1,40 @@ +name: Exhaustive LLVM Build + +on: + workflow_dispatch: + push: + +permissions: + contents: read + +jobs: + doit: + name: 'Build & Test (${{matrix.version}})' + strategy: + fail-fast: false + matrix: + version: ['10.0.1', '11.1.0'] + runs-on: '["self-hosted", "enf-x86-beefy"]' + container: ubuntu:jammy + steps: + - name: Install packages + run: | + apt-get update && apt-get -y upgrade + apt-get install -y build-essential cmake git libcurl4-openssl-dev libgmp-dev ninja-build python3 zlib1g-dev + - name: Clone LLVM + run: git clone -b llvmorg-${{matrix.version}} --recursive https://github.com/llvm/llvm-project + - name: Build LLVM + run: | + cmake -S llvm-project/llvm -B llvm-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host -DLLVM_BUILD_TOOLS=Off \ + -DLLVM_ENABLE_RTTI=On -DLLVM_ENABLE_TERMINFO=Off -DCMAKE_INSTALL_PREFIX=/usr + cmake --build llvm-build -t install + rm -rf llvm-* + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Build spring + run: | + cmake -S spring -B build -DCMAKE_BUILD_TYPE=Release -GNinja + cmake --build build + - name: Test spring + run: ctest --test-dir build/ -j $(nproc) --output-on-failure -LE "(nonparallelizable_tests|long_running_tests)" --timeout 480