Skip to content

Commit b50ab75

Browse files
committed
also update doc build workflow
1 parent 2622b1e commit b50ab75

File tree

1 file changed

+56
-3
lines changed

1 file changed

+56
-3
lines changed

.github/workflows/build-docs.yml

Lines changed: 56 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
build:
1212
name: Build docs
1313
# The build stage could fail but we want the CI to keep moving.
14-
if: ${{ github.repository_owner == 'nvidia' && always() }}
14+
if: ${{ github.repository_owner == 'nvidia' && !cancelled() }}
1515
# WAR: Building the doc currently requires a GPU (NVIDIA/cuda-python#326,327)
1616
runs-on: linux-amd64-gpu-t4-latest-1-testing
1717
#runs-on: ubuntu-latest
@@ -61,28 +61,81 @@ jobs:
6161
REPO_DIR=$(pwd)
6262
6363
# make outputs from the previous job as env vars
64-
echo "CUDA_CORE_ARTIFACT_NAME=cuda-core-python${PYTHON_VERSION_FORMATTED}-linux-64-${{ github.sha }}" >> $GITHUB_ENV
64+
CUDA_CORE_ARTIFACT_BASENAME="cuda-core-python${PYTHON_VERSION_FORMATTED}-${{ matrix.host-platform }}"
65+
echo "CUDA_CORE_ARTIFACT_BASENAME=${CUDA_CORE_ARTIFACT_BASENAME}" >> $GITHUB_ENV
66+
echo "CUDA_CORE_ARTIFACT_NAME=${CUDA_CORE_ARTIFACT_BASENAME}-${{ github.sha }}" >> $GITHUB_ENV
6567
echo "CUDA_CORE_ARTIFACTS_DIR=$(realpath "$REPO_DIR/cuda_core/dist")" >> $GITHUB_ENV
66-
echo "CUDA_BINDINGS_ARTIFACT_NAME=cuda-bindings-python${PYTHON_VERSION_FORMATTED}-cuda${{ inputs.build_ctk_ver }}-linux-64-${{ github.sha }}" >> $GITHUB_ENV
68+
CUDA_BINDINGS_ARTIFACT_BASENAME="cuda-bindings-python${PYTHON_VERSION_FORMATTED}-cuda${{ matrix.cuda-version }}-${{ matrix.host-platform }}"
69+
echo "CUDA_BINDINGS_ARTIFACT_BASENAME=${CUDA_BINDINGS_ARTIFACT_BASENAME}" >> $GITHUB_ENV
70+
echo "CUDA_BINDINGS_ARTIFACT_NAME=${CUDA_BINDINGS_ARTIFACT_BASENAME}-${{ github.sha }}" >> $GITHUB_ENV
6771
echo "CUDA_BINDINGS_ARTIFACTS_DIR=$(realpath "$REPO_DIR/cuda_bindings/dist")" >> $GITHUB_ENV
6872
73+
# We'll try GHA Artifacts first, and then fall back to GHA Cache
6974
- name: Download cuda.bindings build artifacts
75+
id: cuda-bindings-download
7076
uses: actions/download-artifact@v4
7177
with:
7278
name: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
7379
path: ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
7480

81+
- name: Restore cuda.bindings cache
82+
if: ${{ failure() && steps.cuda-bindings-download.conclusion == 'failure' }}
83+
id: cuda-bindings-cache
84+
uses: actions/cache/restore@v4
85+
with:
86+
key: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
87+
path: ${{ env.CUDA_BINDINGS_ARTIFACT_BASENAME }}.tar.gz
88+
restore-keys: ${{ env.CUDA_BINDINGS_ARTIFACT_BASENAME }}
89+
fail-on-cache-miss: true
90+
91+
- name: Report cache restore status (hit)
92+
if: ${{ steps.cuda-bindings-cache.conclusion != 'skipped' &&
93+
steps.cuda-bindings-cache.outputs.cache-hit == 'true' }}
94+
run: |
95+
echo "cache is found"
96+
CACHE_DIR="${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}"
97+
CACHE_ARCHIVE="${{ env.CUDA_BINDINGS_ARTIFACT_BASENAME }}.tar.gz"
98+
ls -l $CACHE_ARCHIVE
99+
mkdir -p $CACHE_DIR
100+
du -h $CACHE_ARCHIVE &&
101+
tar -x -f $CACHE_ARCHIVE -C $CACHE_DIR &&
102+
rm -f $CACHE_ARCHIVE || echo "WARNING: cache could not be retrieved."
103+
75104
- name: Display structure of downloaded cuda.bindings artifacts
76105
run: |
77106
pwd
78107
ls -lahR $CUDA_BINDINGS_ARTIFACTS_DIR
79108
80109
- name: Download cuda.core build artifacts
110+
id: cuda-core-download
81111
uses: actions/download-artifact@v4
82112
with:
83113
name: ${{ env.CUDA_CORE_ARTIFACT_NAME }}
84114
path: ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
85115

116+
- name: Restore cuda.core cache
117+
if: ${{ failure() && steps.cuda-core-download.conclusion == 'failure' }}
118+
id: cuda-core-cache
119+
uses: actions/cache/restore@v4
120+
with:
121+
key: ${{ env.CUDA_CORE_ARTIFACT_NAME }}
122+
path: ${{ env.CUDA_CORE_ARTIFACT_BASENAME }}.tar.gz
123+
restore-keys: ${{ env.CUDA_CORE_ARTIFACT_BASENAME }}
124+
fail-on-cache-miss: true
125+
126+
- name: Report cache restore status (hit)
127+
if: ${{ steps.cuda-core-cache.conclusion != 'skipped' &&
128+
steps.cuda-core-cache.outputs.cache-hit == 'true' }}
129+
run: |
130+
echo "cache is found"
131+
CACHE_DIR="${{ env.CUDA_CORE_ARTIFACTS_DIR }}"
132+
CACHE_ARCHIVE="${{ env.CUDA_CORE_ARTIFACT_BASENAME }}.tar.gz"
133+
ls -l $CACHE_ARCHIVE
134+
mkdir -p $CACHE_DIR
135+
du -h $CACHE_ARCHIVE &&
136+
tar -x -f $CACHE_ARCHIVE -C $CACHE_DIR &&
137+
rm -f $CACHE_ARCHIVE || echo "WARNING: cache could not be retrieved."
138+
86139
- name: Display structure of downloaded cuda.core build artifacts
87140
run: |
88141
pwd

0 commit comments

Comments
 (0)