Add CPU only tests with linker workaround #24
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: pr | |
| on: | |
| push: | |
| branches: | |
| - "pull-request/[0-9]+" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref_name }} | |
| cancel-in-progress: true | |
| defaults: | |
| run: | |
| shell: bash -eou pipefail {0} | |
| jobs: | |
| build: | |
| runs-on: linux-amd64-cpu16 | |
| container: | |
| image: nvidia/cuda:13.2.0-devel-ubuntu24.04 | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| env: | |
| CUDA_TOOLKIT_PATH: /usr/local/cuda-13 | |
| CUDA_TILE_USE_LLVM_INSTALL_DIR: /usr/lib/llvm-21 | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Install basic dependencies | |
| run: | | |
| apt update | |
| apt install -y --no-install-recommends curl wget ca-certificates \ | |
| lsb-release git software-properties-common gnupg cmake zlib1g-dev \ | |
| libzstd-dev git | |
| - name: Clone repository | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| submodules: recursive | |
| - name: Install custom dependencies | |
| run: | | |
| # Install rust | |
| curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
| source "${HOME}/.cargo/env" | |
| rustup default nightly | |
| wget https://apt.llvm.org/llvm.sh | |
| bash ./llvm.sh 21 | |
| apt install -y --no-install-recommends libmlir-21-dev mlir-21-tools libpolly-21-dev | |
| update-alternatives --install /usr/bin/llvm-config llvm-config /usr/lib/llvm-21/bin/llvm-config 1 | |
| - name: Build | |
| run: | | |
| source "${HOME}/.cargo/env" | |
| cargo build | |
| - name: Format check | |
| run: | | |
| source "${HOME}/.cargo/env" | |
| cargo fmt -- --check | |
| - name: Clippy | |
| run: | | |
| source "${HOME}/.cargo/env" | |
| cargo clippy | |
| - name: Test (compile only) | |
| run: | | |
| source "${HOME}/.cargo/env" | |
| cargo test --no-run | |
| - name: CPU only tests | |
| run: | | |
| source "${HOME}/.cargo/env" | |
| # FIXME: Temporary hack for runtime linking | |
| export LD_LIBRARY_PATH="${CUDA_TILE_USE_LLVM_INSTALL_DIR}/lib" | |
| ./scripts/run_cpu_tests.sh |