From 4dd844d2a940952f8a50ad0a554e3f0a3c8082a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9phine=20Oberholtzer?= Date: Tue, 4 Aug 2026 13:21:36 -0400 Subject: [PATCH 1/4] DOC-819: Publish named versions to docs.nvidia.com --- .github/workflows/deploy.yaml | 73 +++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 049bb7c4571..f2d42fa77d5 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -6,17 +6,21 @@ on: push: branches: - main + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true + defaults: run: shell: bash + permissions: - id-token: write contents: read + jobs: - build: + + deploy-to-docs-rapidsai-org: name: Build (and deploy) runs-on: ubuntu-latest steps: @@ -47,7 +51,6 @@ jobs: # is resolved and deployed. run: | # zizmor: ignore[adhoc-packages] npm install --global --force @aschmidt8/netlify-cli - ARGS="" if [ "$GITHUB_REF_NAME" = "main" ]; then ARGS="--prod" @@ -55,3 +58,67 @@ jobs: netlify deploy "$ARGS" \ --debug \ --dir=_site + + compute-docs-nvidia-com-matrix: + name: Compute docs.nvidia.com matrix + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + fetch-depth: 0 + persist-credentials: false + - name: Set matrix + id: set-matrix + env: + PROJECTS: cudf,cugraph,cuml,nvforest,rmm + run: | + MATRIX=$( + jq --arg projects "$PROJECTS" ' + ($projects | split(",")) as $allowed | + [to_entries[] | select(.key | IN($allowed[])) | .key as $project | .value | to_entries[] | + {"project": $project, "named-version": .key, "numeric-version": .value}]' \ + ci/customization/projects-to-versions.json + ) + echo "matrix=${MATRIX}" >> "${GITHUB_OUTPUT}" + + publish-to-docs-nvidia-com: + needs: compute-docs-nvidia-com-matrix + runs-on: ubuntu-latest + container: + image: rapidsai/ci-conda:26.10-latest + options: -e _NOOP + strategy: + fail-fast: false + matrix: + include: ${{ fromJson(needs.compute-docs-nvidia-com-matrix.outputs.matrix) }} + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@e7f100cf4c008499ea8adda475de1042d6975c7b # v6.2.0 + with: + aws-region: ${{ vars.AWS_REGION }} + role-to-assume: ${{ vars.AWS_ROLE_ARN }} + - name: Download docs + env: + PROJECT: ${{ matrix['project'] }} + NUMERIC_VERSION: ${{ matrix['numeric-version'] }} + run: | + aws s3 sync "s3://rapidsai-docs/${PROJECT}/html/${NUMERIC_VERSION}" ./docs/ + - name: Publish to docs.nvidia.com + uses: rapidsai/shared-actions/publish-docs@main + with: + akamai_access_token: ${{ secrets.AKAMAI_ACCESS_TOKEN }} + akamai_client_secret: ${{ secrets.AKAMAI_CLIENT_SECRET }} + akamai_client_token: ${{ secrets.AKAMAI_CLIENT_TOKEN }} + akamai_emails_to_notify: ${{ secrets.AKAMAI_EMAILS_TO_NOTIFY }} + akamai-host: ${{ secrets.AKAMAI_HOST }} + akamai-request-name: rapidsai-docs-${{ matrix['project'] }}-${{ matrix['named-version'] }} + dry-run: false + source-path: ./docs/ + target_aws_access_key_id: ${{ secrets.TARGET_AWS_ACCESS_KEY_ID }} + target_aws_region: ${{ secrets.TARGET_AWS_REGION }} + target_aws_secret_access_key: ${{ secrets.TARGET_AWS_SECRET_ACCESS_KEY }} + target_s3_bucket: ${{ secrets.TARGET_S3_BUCKET }} + target-s3-key-suffix: ${{ matrix['named-version'] }} + target-s3-key: ${{ matrix['project'] }} From 32626d9f988d5de84286609957e44a1299d1643a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9phine=20Oberholtzer?= Date: Tue, 4 Aug 2026 13:31:47 -0400 Subject: [PATCH 2/4] Use compact output --- .github/workflows/deploy.yaml | 2 +- .github/workflows/pr.yaml | 65 +++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index f2d42fa77d5..33f64eab558 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -75,7 +75,7 @@ jobs: PROJECTS: cudf,cugraph,cuml,nvforest,rmm run: | MATRIX=$( - jq --arg projects "$PROJECTS" ' + jq --compact-output --arg projects "$PROJECTS" ' ($projects | split(",")) as $allowed | [to_entries[] | select(.key | IN($allowed[])) | .key as $project | .value | to_entries[] | {"project": $project, "named-version": .key, "numeric-version": .value}]' \ diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index d35a3931dd1..777e6ecdbd9 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -16,6 +16,7 @@ jobs: needs: - check-style - docs + - publish-to-docs-nvidia-com permissions: actions: read contents: read @@ -63,3 +64,67 @@ jobs: role-duration-seconds: 7200 - name: Assemble and validate complete documentation site run: make assemble + + compute-docs-nvidia-com-matrix: + name: Compute docs.nvidia.com matrix + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + fetch-depth: 0 + persist-credentials: false + - name: Set matrix + id: set-matrix + env: + PROJECTS: cudf,cugraph,cuml,nvforest,rmm + run: | + MATRIX=$( + jq --compact-output --arg projects "$PROJECTS" ' + ($projects | split(",")) as $allowed | + [to_entries[] | select(.key | IN($allowed[])) | .key as $project | .value | to_entries[] | + {"project": $project, "named-version": .key, "numeric-version": .value}]' \ + ci/customization/projects-to-versions.json + ) + echo "matrix=${MATRIX}" >> "${GITHUB_OUTPUT}" + + publish-to-docs-nvidia-com: + needs: compute-docs-nvidia-com-matrix + runs-on: ubuntu-latest + container: + image: rapidsai/ci-conda:26.10-latest + options: -e _NOOP + strategy: + fail-fast: false + matrix: + include: ${{ fromJson(needs.compute-docs-nvidia-com-matrix.outputs.matrix) }} + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@e7f100cf4c008499ea8adda475de1042d6975c7b # v6.2.0 + with: + aws-region: ${{ vars.AWS_REGION }} + role-to-assume: ${{ vars.AWS_ROLE_ARN }} + - name: Download docs + env: + PROJECT: ${{ matrix['project'] }} + NUMERIC_VERSION: ${{ matrix['numeric-version'] }} + run: | + aws s3 sync "s3://rapidsai-docs/${PROJECT}/html/${NUMERIC_VERSION}" ./docs/ + - name: Publish to docs.nvidia.com + uses: rapidsai/shared-actions/publish-docs@main + with: + akamai_access_token: ${{ secrets.AKAMAI_ACCESS_TOKEN }} + akamai_client_secret: ${{ secrets.AKAMAI_CLIENT_SECRET }} + akamai_client_token: ${{ secrets.AKAMAI_CLIENT_TOKEN }} + akamai_emails_to_notify: ${{ secrets.AKAMAI_EMAILS_TO_NOTIFY }} + akamai-host: ${{ secrets.AKAMAI_HOST }} + akamai-request-name: rapidsai-docs-${{ matrix['project'] }}-${{ matrix['named-version'] }} + dry-run: true + source-path: ./docs/ + target_aws_access_key_id: ${{ secrets.TARGET_AWS_ACCESS_KEY_ID }} + target_aws_region: ${{ secrets.TARGET_AWS_REGION }} + target_aws_secret_access_key: ${{ secrets.TARGET_AWS_SECRET_ACCESS_KEY }} + target_s3_bucket: ${{ secrets.TARGET_S3_BUCKET }} + target-s3-key-suffix: ${{ matrix['named-version'] }} + target-s3-key: ${{ matrix['project'] }} From 06f3163b07890f6edf67a6df363c82118b364411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9phine=20Oberholtzer?= Date: Tue, 4 Aug 2026 13:59:37 -0400 Subject: [PATCH 3/4] Adjust --- .github/workflows/deploy.yaml | 7 +++++-- .github/workflows/pr.yaml | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 33f64eab558..b7a02aad521 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -84,11 +84,14 @@ jobs: echo "matrix=${MATRIX}" >> "${GITHUB_OUTPUT}" publish-to-docs-nvidia-com: - needs: compute-docs-nvidia-com-matrix - runs-on: ubuntu-latest + name: Publish to docs.nvidia.com container: image: rapidsai/ci-conda:26.10-latest options: -e _NOOP + needs: compute-docs-nvidia-com-matrix + permissions: + id-token: write + runs-on: ubuntu-latest strategy: fail-fast: false matrix: diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 777e6ecdbd9..863c9c5b292 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -90,11 +90,14 @@ jobs: echo "matrix=${MATRIX}" >> "${GITHUB_OUTPUT}" publish-to-docs-nvidia-com: - needs: compute-docs-nvidia-com-matrix - runs-on: ubuntu-latest + name: Publish to docs.nvidia.com container: image: rapidsai/ci-conda:26.10-latest options: -e _NOOP + needs: compute-docs-nvidia-com-matrix + permissions: + id-token: write + runs-on: ubuntu-latest strategy: fail-fast: false matrix: From 3847fa303da2bb429018c372d0082470a519b1bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9phine=20Oberholtzer?= Date: Tue, 4 Aug 2026 14:14:42 -0400 Subject: [PATCH 4/4] Fixup secret names --- .github/workflows/deploy.yaml | 18 +++++++++--------- .github/workflows/pr.yaml | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index b7a02aad521..3a31e724e74 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -111,17 +111,17 @@ jobs: - name: Publish to docs.nvidia.com uses: rapidsai/shared-actions/publish-docs@main with: - akamai_access_token: ${{ secrets.AKAMAI_ACCESS_TOKEN }} - akamai_client_secret: ${{ secrets.AKAMAI_CLIENT_SECRET }} - akamai_client_token: ${{ secrets.AKAMAI_CLIENT_TOKEN }} - akamai_emails_to_notify: ${{ secrets.AKAMAI_EMAILS_TO_NOTIFY }} - akamai-host: ${{ secrets.AKAMAI_HOST }} + akamai_access_token: ${{ secrets.NVIDIA_DOCS_AKAMAI_ACCESS_TOKEN }} + akamai_client_secret: ${{ secrets.NVIDIA_DOCS_AKAMAI_CLIENT_SECRET }} + akamai_client_token: ${{ secrets.NVIDIA_DOCS_AKAMAI_CLIENT_TOKEN }} + akamai_emails_to_notify: ${{ secrets.NVIDIA_DOCS_AKAMAI_EMAILS_TO_NOTIFY }} + akamai-host: ${{ secrets.NVIDIA_DOCS_AKAMAI_HOST }} akamai-request-name: rapidsai-docs-${{ matrix['project'] }}-${{ matrix['named-version'] }} dry-run: false source-path: ./docs/ - target_aws_access_key_id: ${{ secrets.TARGET_AWS_ACCESS_KEY_ID }} - target_aws_region: ${{ secrets.TARGET_AWS_REGION }} - target_aws_secret_access_key: ${{ secrets.TARGET_AWS_SECRET_ACCESS_KEY }} - target_s3_bucket: ${{ secrets.TARGET_S3_BUCKET }} + target_aws_access_key_id: ${{ secrets.NVIDIA_DOCS_AWS_ACCESS_KEY_ID }} + target_aws_region: ${{ secrets.NVIDIA_DOCS_AWS_REGION }} + target_aws_secret_access_key: ${{ secrets.NVIDIA_DOCS_AWS_SECRET_ACCESS_KEY }} + target_s3_bucket: ${{ secrets.NVIDIA_DOCS_S3_BUCKET }} target-s3-key-suffix: ${{ matrix['named-version'] }} target-s3-key: ${{ matrix['project'] }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 863c9c5b292..df2c1d91f4b 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -117,17 +117,17 @@ jobs: - name: Publish to docs.nvidia.com uses: rapidsai/shared-actions/publish-docs@main with: - akamai_access_token: ${{ secrets.AKAMAI_ACCESS_TOKEN }} - akamai_client_secret: ${{ secrets.AKAMAI_CLIENT_SECRET }} - akamai_client_token: ${{ secrets.AKAMAI_CLIENT_TOKEN }} - akamai_emails_to_notify: ${{ secrets.AKAMAI_EMAILS_TO_NOTIFY }} - akamai-host: ${{ secrets.AKAMAI_HOST }} + akamai_access_token: ${{ secrets.NVIDIA_DOCS_AKAMAI_ACCESS_TOKEN }} + akamai_client_secret: ${{ secrets.NVIDIA_DOCS_AKAMAI_CLIENT_SECRET }} + akamai_client_token: ${{ secrets.NVIDIA_DOCS_AKAMAI_CLIENT_TOKEN }} + akamai_emails_to_notify: ${{ secrets.NVIDIA_DOCS_AKAMAI_EMAILS_TO_NOTIFY }} + akamai-host: ${{ secrets.NVIDIA_DOCS_AKAMAI_HOST }} akamai-request-name: rapidsai-docs-${{ matrix['project'] }}-${{ matrix['named-version'] }} dry-run: true source-path: ./docs/ - target_aws_access_key_id: ${{ secrets.TARGET_AWS_ACCESS_KEY_ID }} - target_aws_region: ${{ secrets.TARGET_AWS_REGION }} - target_aws_secret_access_key: ${{ secrets.TARGET_AWS_SECRET_ACCESS_KEY }} - target_s3_bucket: ${{ secrets.TARGET_S3_BUCKET }} + target_aws_access_key_id: ${{ secrets.NVIDIA_DOCS_AWS_ACCESS_KEY_ID }} + target_aws_region: ${{ secrets.NVIDIA_DOCS_AWS_REGION }} + target_aws_secret_access_key: ${{ secrets.NVIDIA_DOCS_AWS_SECRET_ACCESS_KEY }} + target_s3_bucket: ${{ secrets.NVIDIA_DOCS_S3_BUCKET }} target-s3-key-suffix: ${{ matrix['named-version'] }} target-s3-key: ${{ matrix['project'] }}