Skip to content

Commit af10179

Browse files
committed
also update doc build workflow
1 parent 3ba670f commit af10179

File tree

1 file changed

+66
-3
lines changed

1 file changed

+66
-3
lines changed

.github/workflows/build-docs.yml

Lines changed: 66 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,91 @@ 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}-linux-64"
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${{ inputs.build_ctk_ver }}-linux-64"
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
77+
continue-on-error: true
7178
with:
7279
name: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
7380
path: ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
7481

82+
- name: Restore cuda.bindings cache
83+
if: ${{ steps.cuda-bindings-download.outcome == 'failure' }}
84+
id: cuda-bindings-cache
85+
uses: actions/cache/restore@v4
86+
with:
87+
key: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
88+
path: ${{ env.CUDA_BINDINGS_ARTIFACT_BASENAME }}.tar.gz
89+
restore-keys: ${{ env.CUDA_BINDINGS_ARTIFACT_BASENAME }}
90+
fail-on-cache-miss: true
91+
92+
- name: Report cache restore status
93+
if: ${{ steps.cuda-bindings-cache.outcome != 'skipped' }}
94+
run: |
95+
if [[ "${{ steps.cuda-bindings-cache.outputs.cache-hit }}" == true ]]; then
96+
echo "cache is found"
97+
else
98+
echo "cache is not found"
99+
exit 1
100+
fi
101+
CACHE_DIR="${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}"
102+
CACHE_ARCHIVE="${{ env.CUDA_BINDINGS_ARTIFACT_BASENAME }}.tar.gz"
103+
ls -l $CACHE_ARCHIVE
104+
mkdir -p $CACHE_DIR
105+
du -h $CACHE_ARCHIVE &&
106+
tar -x -f $CACHE_ARCHIVE -C $CACHE_DIR &&
107+
rm -f $CACHE_ARCHIVE || exit 1
108+
75109
- name: Display structure of downloaded cuda.bindings artifacts
76110
run: |
77111
pwd
78112
ls -lahR $CUDA_BINDINGS_ARTIFACTS_DIR
79113
80114
- name: Download cuda.core build artifacts
115+
id: cuda-core-download
81116
uses: actions/download-artifact@v4
117+
continue-on-error: true
82118
with:
83119
name: ${{ env.CUDA_CORE_ARTIFACT_NAME }}
84120
path: ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
85121

122+
- name: Restore cuda.core cache
123+
if: ${{ steps.cuda-core-download.outcome == 'failure' }}
124+
id: cuda-core-cache
125+
uses: actions/cache/restore@v4
126+
with:
127+
key: ${{ env.CUDA_CORE_ARTIFACT_NAME }}
128+
path: ${{ env.CUDA_CORE_ARTIFACT_BASENAME }}.tar.gz
129+
restore-keys: ${{ env.CUDA_CORE_ARTIFACT_BASENAME }}
130+
fail-on-cache-miss: true
131+
132+
- name: Report cache restore status
133+
if: ${{ steps.cuda-core-cache.outcome != 'skipped' }}
134+
run: |
135+
if [[ "${{ steps.cuda-core-cache.outputs.cache-hit }}" == true ]]; then
136+
echo "cache is found"
137+
else
138+
echo "cache is not found"
139+
exit 1
140+
fi
141+
CACHE_DIR="${{ env.CUDA_CORE_ARTIFACTS_DIR }}"
142+
CACHE_ARCHIVE="${{ env.CUDA_CORE_ARTIFACT_BASENAME }}.tar.gz"
143+
ls -l $CACHE_ARCHIVE
144+
mkdir -p $CACHE_DIR
145+
du -h $CACHE_ARCHIVE &&
146+
tar -x -f $CACHE_ARCHIVE -C $CACHE_DIR &&
147+
rm -f $CACHE_ARCHIVE || exit 1
148+
86149
- name: Display structure of downloaded cuda.core build artifacts
87150
run: |
88151
pwd

0 commit comments

Comments
 (0)