Skip to content

feat(ci): Split Linux CI workflow and add container images pipeline (… #5

feat(ci): Split Linux CI workflow and add container images pipeline (…

feat(ci): Split Linux CI workflow and add container images pipeline (… #5

Workflow file for this run

name: CI on Linux
on:
pull_request:
paths-ignore:
- "**.md"
push:
paths-ignore:
- "**.md"
env:
RUST_LOG: info
RUST_BACKTRACE: 1
jobs:
build:
name: ${{ matrix.variance.name }}
runs-on: ubuntu-latest
container:
image: ${{ matrix.variance.image }}
strategy:
fail-fast: false
matrix:
variance:
# - name: Ubuntu-22.04/CUDA-11.8.0
# image: "ghcr.io/rust-gpu/rust-cuda-ubuntu22-cuda11:latest"
- name: Ubuntu-22.04/CUDA-12.8.1
image: "ghcr.io/rust-gpu/rust-cuda-ubuntu22-cuda12:latest"
- name: Ubuntu-24.04/CUDA-12.8.1
image: "ghcr.io/rust-gpu/rust-cuda-ubuntu24-cuda12:latest"
- name: RockyLinux-9/CUDA-12.8.1
image: "ghcr.io/rust-gpu/rust-cuda-rockylinux9-cuda12:latest"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Verify CUDA, Rust installation
run: |
nvcc --version
rustup show
- name: Load Rust cache
uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.variance.name }}
- name: Rustfmt
run: cargo fmt --all -- --check
- name: Clippy
env:
RUSTFLAGS: -Dwarnings
run: cargo clippy --workspace --exclude "optix*" --exclude "path_tracer" --exclude "denoiser" --exclude "add" --exclude "ex*" --exclude "cudnn*"
- name: Build
run: cargo build --workspace --exclude "optix*" --exclude "path_tracer" --exclude "denoiser" --exclude "add" --exclude "ex*" --exclude "cudnn*"
- 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"