Skip to content

Commit deec047

Browse files
committed
Check versioned docs example links
1 parent d83231e commit deec047

5 files changed

Lines changed: 43 additions & 11 deletions

File tree

.github/workflows/build-docs.yml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+
# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
#
33
# SPDX-License-Identifier: Apache-2.0
44

@@ -91,14 +91,20 @@ jobs:
9191
9292
if [[ ${{ inputs.is-release }} == "true" ]]; then
9393
FILE_HASH="*"
94-
COMMIT_HASH="${{ inputs.git-tag }}"
94+
DOCS_GITHUB_REF="${{ inputs.git-tag }}"
95+
if [[ -z "${DOCS_GITHUB_REF}" ]]; then
96+
DOCS_GITHUB_REF="${GITHUB_REF_NAME}"
97+
fi
98+
COMMIT_HASH="${DOCS_GITHUB_REF}"
9599
else
96100
FILE_HASH="${{ github.sha }}"
97-
COMMIT_HASH="${{ github.sha }}"
101+
DOCS_GITHUB_REF="${{ github.sha }}"
102+
COMMIT_HASH="${DOCS_GITHUB_REF}"
98103
fi
99104
100105
# make outputs from the previous job as env vars
101106
CUDA_CORE_ARTIFACT_BASENAME="cuda-core-python${PYTHON_VERSION_FORMATTED}-linux-64"
107+
echo "CUDA_PYTHON_DOCS_GITHUB_REF=${DOCS_GITHUB_REF}" >> $GITHUB_ENV
102108
echo "COMMIT_HASH=${COMMIT_HASH}" >> $GITHUB_ENV
103109
echo "CUDA_CORE_ARTIFACT_BASENAME=${CUDA_CORE_ARTIFACT_BASENAME}" >> $GITHUB_ENV
104110
echo "CUDA_CORE_ARTIFACT_NAME=${CUDA_CORE_ARTIFACT_BASENAME}-${FILE_HASH}" >> $GITHUB_ENV
@@ -210,9 +216,9 @@ jobs:
210216
run: |
211217
pushd cuda_python/docs/
212218
if [[ "${{ inputs.is-release }}" == "false" ]]; then
213-
./build_all_docs.sh latest-only
219+
DOCS_LINKCHECK=1 ./build_all_docs.sh latest-only
214220
else
215-
./build_all_docs.sh
221+
DOCS_LINKCHECK=1 ./build_all_docs.sh
216222
# At release time, we don't want to update the latest docs
217223
rm -rf build/html/latest
218224
fi
@@ -226,9 +232,9 @@ jobs:
226232
COMPONENT=$(echo "${{ inputs.component }}" | tr '-' '_')
227233
pushd ${COMPONENT}/docs/
228234
if [[ "${{ inputs.is-release }}" == "false" ]]; then
229-
./build_docs.sh latest-only
235+
DOCS_LINKCHECK=1 ./build_docs.sh latest-only
230236
else
231-
./build_docs.sh
237+
DOCS_LINKCHECK=1 ./build_docs.sh
232238
# At release time, we don't want to update the latest docs
233239
rm -rf build/html/latest
234240
fi

cuda_bindings/docs/build_docs.sh

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
44
# SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE
55

66
set -ex
@@ -30,7 +30,19 @@ if [[ "${LATEST_ONLY}" == "1" && -z "${BUILD_PREVIEW:-}" && -z "${BUILD_LATEST:-
3030
fi
3131

3232
# build the docs (in parallel)
33-
SPHINXOPTS="-j 4 -d build/.doctrees" make html
33+
if [[ -z "${SPHINXOPTS:-}" ]]; then
34+
HTML_SPHINXOPTS="-j 4 -d build/.doctrees"
35+
else
36+
HTML_SPHINXOPTS="${SPHINXOPTS}"
37+
fi
38+
SPHINXOPTS="${HTML_SPHINXOPTS}" make html
39+
40+
if [[ "${DOCS_LINKCHECK:-0}" == "1" ]]; then
41+
if [[ -z "${LINKCHECK_SPHINXOPTS:-}" ]]; then
42+
LINKCHECK_SPHINXOPTS="-W --keep-going -j 4 -d build/.linkcheck-doctrees"
43+
fi
44+
SPHINXOPTS="${LINKCHECK_SPHINXOPTS}" make linkcheck BUILDDIR="build/linkcheck/${SPHINX_CUDA_BINDINGS_VER}"
45+
fi
3446

3547
# for debugging/developing (conf.py), please comment out the above line and
3648
# use the line below instead, as we must build in serial to avoid getting

cuda_bindings/docs/source/conf.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727

2828

2929
def _github_examples_ref():
30+
if ref := os.environ.get("CUDA_PYTHON_DOCS_GITHUB_REF"):
31+
return ref
3032
if int(os.environ.get("BUILD_PREVIEW", 0)) or int(os.environ.get("BUILD_LATEST", 0)):
3133
return "main"
3234
return f"v{release}"

cuda_core/docs/build_docs.sh

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
44
# SPDX-License-Identifier: Apache-2.0
55

66
set -ex
@@ -30,10 +30,20 @@ fi
3030

3131
# build the docs. Allow callers to override SPHINXOPTS for serial/debug runs.
3232
if [[ -z "${SPHINXOPTS:-}" ]]; then
33-
SPHINXOPTS="-W --keep-going -j 4 -d build/.doctrees"
33+
HTML_SPHINXOPTS="-W --keep-going -j 4 -d build/.doctrees"
34+
else
35+
HTML_SPHINXOPTS="${SPHINXOPTS}"
3436
fi
37+
SPHINXOPTS="${HTML_SPHINXOPTS}"
3538
make html
3639

40+
if [[ "${DOCS_LINKCHECK:-0}" == "1" ]]; then
41+
if [[ -z "${LINKCHECK_SPHINXOPTS:-}" ]]; then
42+
LINKCHECK_SPHINXOPTS="-W --keep-going -j 4 -d build/.linkcheck-doctrees"
43+
fi
44+
SPHINXOPTS="${LINKCHECK_SPHINXOPTS}" make linkcheck BUILDDIR="build/linkcheck/${SPHINX_CUDA_CORE_VER}"
45+
fi
46+
3747
# to support version dropdown menu
3848
cp ./versions.json build/html
3949
cp ./nv-versions.json build/html

cuda_core/docs/source/conf.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828

2929

3030
def _github_examples_ref():
31+
if ref := os.environ.get("CUDA_PYTHON_DOCS_GITHUB_REF"):
32+
return ref
3133
if int(os.environ.get("BUILD_PREVIEW", 0)) or int(os.environ.get("BUILD_LATEST", 0)):
3234
return "main"
3335
return f"cuda-core-v{release}"

0 commit comments

Comments
 (0)