chore(example): add nvvm library path to LD_LIBRARY_PATH and add back the add example in CI
          
            #389
        
      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: Rust CI | |
| on: | |
| pull_request: | |
| paths-ignore: | |
| - "**.md" | |
| push: | |
| paths-ignore: | |
| - "**.md" | |
| env: | |
| RUST_LOG: info | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| rust: | |
| name: Rust on ${{ matrix.os }} with CUDA ${{ matrix.cuda }} | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| LLVM_LINK_STATIC: 1 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: windows-latest | |
| target: x86_64-pc-windows-msvc | |
| cuda: "12.8.1" | |
| linux-local-args: [] | |
| sub-packages: ["nvcc", "nvrtc", "nvrtc_dev", "cuda_profiler_api", "cudart", "cublas", "cublas_dev", "curand", "curand_dev"] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v2 | |
| - name: Install CUDA | |
| uses: Jimver/[email protected] | |
| id: cuda-toolkit | |
| with: | |
| cuda: ${{ matrix.cuda }} | |
| method: network | |
| linux-local-args: ${{ toJson(matrix.linux-local-args) }} | |
| use-local-cache: false | |
| sub-packages: ${{ toJson(matrix.sub-packages) }} | |
| log-file-suffix: '${{matrix.os}}-${{matrix.cuda}}' | |
| - name: Verify CUDA installation | |
| run: nvcc --version | |
| - name: List CUDA_PATH files | |
| shell: pwsh | |
| run: Get-ChildItem -Path $env:CUDA_PATH -Recurse | ForEach-Object { $_.FullName } | |
| # random command that forces rustup to install stuff in rust-toolchain | |
| - name: Install rust-toolchain | |
| run: cargo version | |
| - name: Add rustup components | |
| run: rustup component add rustfmt clippy | |
| - name: Load Rust Cache | |
| uses: Swatinem/[email protected] | |
| with: | |
| key: ${{ matrix.os }}-${{ matrix.target }}-${{ matrix.cuda }} | |
| - name: Build | |
| run: cargo build --workspace --exclude "optix*" --exclude "path_tracer" --exclude "denoiser" --exclude "add" --exclude "ex*" --exclude "cudnn*" | |
| # Don't currently test because many tests rely on the system having a CUDA GPU | |
| # - name: Test | |
| # run: cargo test --workspace | |
| - name: Check documentation | |
| env: | |
| RUSTDOCFLAGS: -Dwarnings | |
| run: cargo doc --workspace --all-features --document-private-items --no-deps --exclude "optix*" --exclude "path_tracer" --exclude "denoiser" --exclude "add" --exclude "ex*" --exclude "cudnn*" --exclude "cust_raw" |