Skip to content

fix(cuda-device): normalize cooperative group match masks #2368

fix(cuda-device): normalize cooperative group match masks

fix(cuda-device): normalize cooperative group match masks #2368

Workflow file for this run

---
name: docs
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
permissions:
contents: read
# Gate rustdoc and doctests, which the `unit-tests` job does not cover (it runs
# `--lib --tests`, excluding doctests, and never builds docs). Keeps broken
# intra-doc links and uncompilable doc examples from accumulating silently.
jobs:
rustdoc-and-doctests:
name: cargo doc + doctests
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Install CUDA toolkit
# `cargo doc --workspace` compiles cuda-bindings' build-time bindgen,
# which needs `cuda.h`. Same toolkit pin as the unit-tests job.
uses: Jimver/cuda-toolkit@v0.2.35
id: cuda-toolkit
with:
cuda: "13.1.1"
method: network
sub-packages: '["nvcc", "cudart-dev"]'
non-cuda-sub-packages: '["libcurand-dev"]'
- name: Build docs (warning-free) and run doctests
env:
CUDA_TOOLKIT_PATH: ${{ steps.cuda-toolkit.outputs.CUDA_PATH }}
RUSTDOCFLAGS: "-D warnings"
run: |
sysroot="$(rustc --print sysroot)"
export LIBRARY_PATH="${sysroot}/lib:${LIBRARY_PATH:-}"
export LD_LIBRARY_PATH="${sysroot}/lib:${LD_LIBRARY_PATH:-}"
# Docs must build warning-free (RUSTDOCFLAGS=-D warnings above).
cargo doc --no-deps --workspace
# Run doctests. The shared cuda-bindings is not a workspace member,
# so nothing here reaches its bindgen-generated doc comments.
cargo test --doc --workspace
# `rustc-codegen-cuda` is its own [workspace] (it links against
# rustc-private dylibs), so `--workspace` above never reaches it. fmt,
# clippy and unit-tests each carry a dedicated step for that crate;
# this gate did not, which is how four broken intra-doc links in its
# crate-level documentation went unreported.
- name: Build docs (warning-free) for rustc-codegen-cuda
working-directory: crates/rustc-codegen-cuda
env:
RUSTDOCFLAGS: "-D warnings"
run: |
sysroot="$(rustc --print sysroot)"
export LIBRARY_PATH="${sysroot}/lib:${LIBRARY_PATH:-}"
export LD_LIBRARY_PATH="${sysroot}/lib:${LD_LIBRARY_PATH:-}"
cargo doc --no-deps