diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 00000000000..4c86a5e063a
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,13 @@
+// For format details, see https://aka.ms/devcontainer.json.
+{
+ "name": "RAPIDS Docs",
+ "image": "mcr.microsoft.com/devcontainers/python:3.14-bookworm",
+ "forwardPorts": [8000],
+ "portsAttributes": {
+ "8000": {
+ "label": "RAPIDS Docs",
+ "onAutoForward": "openPreview"
+ }
+ },
+ "postCreateCommand": "pipx install uv && uv sync --locked"
+}
diff --git a/.github/workflows/deploy-cudf-java-docs.yaml b/.github/workflows/deploy-cudf-java-docs.yaml
index adaeaa1c5a7..34cd16855fd 100644
--- a/.github/workflows/deploy-cudf-java-docs.yaml
+++ b/.github/workflows/deploy-cudf-java-docs.yaml
@@ -1,5 +1,4 @@
name: Deploy cudf-java docs
-
on:
workflow_dispatch:
inputs:
@@ -10,20 +9,16 @@ on:
version:
description: "Version being released. Format: YY.MM or YY.MM.P e.g 24.08 or 24.08.1"
required: true
-
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
-
defaults:
run:
shell: bash
-
permissions:
id-token: write
contents: write
pull-requests: write
-
jobs:
deploy-cudf-java-docs:
runs-on: ubuntu-latest
@@ -32,17 +27,16 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- - name: Configure AWS credentials
- uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
+ - uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 #v5.1.1
with:
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
aws-region: ${{ vars.AWS_REGION }}
- role-duration-seconds: 7200
+ role-duration-seconds: 7200 # 2h
- name: Upload cudf-java docs to S3
env:
VERSION: ${{ inputs.version }}
run: ci/upload_cudf_java_docs.sh "${VERSION}"
- - name: Update stable value for cudf-java
+ - name: Update stable value for cudf-java in docs.yml and projects-to-versions.json
env:
NEW_STABLE_VALUE: ${{ inputs.new_stable_value }}
VERSION: ${{ inputs.version }}
@@ -57,7 +51,7 @@ jobs:
jq --arg version "$VERSION" '."cudf-java".stable = $version' ci/customization/projects-to-versions.json > tmp.json \
&& mv tmp.json ci/customization/projects-to-versions.json
- echo "Updated stable version for cudf-java to $VERSION"
+ echo "Updated cudf-java stable version to $VERSION in projects-to-versions.json"
- name: Create Pull Request
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
with:
diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml
index 66f2ee9b035..77b74aeef26 100644
--- a/.github/workflows/deploy.yaml
+++ b/.github/workflows/deploy.yaml
@@ -1,5 +1,4 @@
name: Deploy site
-
on:
schedule:
- cron: "0 9 * * *"
@@ -8,26 +7,21 @@ on:
branches:
- main
- "pull-request/[0-9]+"
-
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
-
defaults:
run:
shell: bash
-
permissions:
id-token: write
contents: read
-
jobs:
build:
name: Build (and deploy)
runs-on: ubuntu-latest
steps:
- - name: Checkout
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false
@@ -39,21 +33,20 @@ jobs:
run: uv sync --locked
- name: Build and validate portal
run: make check
- - name: Configure AWS credentials
- uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
+ - uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 #v5.1.1
with:
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
aws-region: ${{ vars.AWS_REGION }}
- role-duration-seconds: 7200
+ role-duration-seconds: 7200 # 2h
- name: Assemble complete documentation site
run: make assemble
- name: Deploy site
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_API_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_DOCS_SITE_ID }}
+ # TODO: use official netlify-cli pkg after https://github.com/netlify/cli/issues/1809
+ # is resolved and deployed.
run: |
- # TODO: use the official netlify-cli package after
- # https://github.com/netlify/cli/issues/1809 is resolved and deployed.
npm install --global --force @aschmidt8/netlify-cli
ARGS=""
diff --git a/.github/zizmor.yml b/.github/zizmor.yml
index e5ec29cf9a0..1b6ea1e53ff 100644
--- a/.github/zizmor.yml
+++ b/.github/zizmor.yml
@@ -2,7 +2,8 @@ rules:
unpinned-uses:
config:
policies:
- # Require SHA-pinning except for RAPIDS-managed reusable actions and workflows.
+ # We require SHA-pinning for all workflows and actions _except_ for those from
+ # rapidsai/shared-workflows and rapidsai/shared-actions
"rapidsai/shared-workflows/*": any
"rapidsai/shared-actions/*": any
"*": hash-pin
diff --git a/.python-version b/.python-version
index e4fba218358..6324d401a06 100644
--- a/.python-version
+++ b/.python-version
@@ -1 +1 @@
-3.12
+3.14
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 639ca1c7ce3..6aed90bfbf3 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -9,16 +9,19 @@ the locked development environment:
uv sync --locked
```
+Alternatively, open the repository in its development container. The container
+installs uv and the locked environment automatically.
+
## Development
-Build the portal and serve the rendered site at :
+Build the portal and serve the rendered site:
```shell
make html
make serve
```
-Pass a different port when needed:
+The server uses port 8000 by default. Pass a different port when needed:
```shell
make serve PORT=8080
diff --git a/Makefile b/Makefile
index f88e1af26f3..6b5a961159e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
UV ?= uv
-PORT ?= 8004
+PORT ?= 8000
AWS_PROFILE ?=
.PHONY: assemble check clean full html lint serve test validate
diff --git a/README.md b/README.md
index 5b486b75bd7..9765208ac63 100644
--- a/README.md
+++ b/README.md
@@ -13,8 +13,8 @@ make html
make serve
```
-The rendered portal is written to `_site` and served at
- by default.
+The rendered portal is written to `_site`. The server uses port 8000 by default;
+override it with `PORT` (for example, `make serve PORT=8080`).
## Build the complete site
diff --git a/ci/check_style.sh b/ci/check_style.sh
index d635ce8db43..4cd72468c14 100755
--- a/ci/check_style.sh
+++ b/ci/check_style.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES.
+# SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES.
# All rights reserved.
# SPDX-License-Identifier: Apache-2.0
diff --git a/ci/customization/customize_docs_in_folder.sh b/ci/customization/customize_docs_in_folder.sh
index 09c88d5190f..a7456d66957 100755
--- a/ci/customization/customize_docs_in_folder.sh
+++ b/ci/customization/customize_docs_in_folder.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES.
+# SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES.
# All rights reserved.
# SPDX-License-Identifier: Apache-2.0
diff --git a/ci/customization/lib_map.sh b/ci/customization/lib_map.sh
index 0a6ae9208a1..e0ff6d51dbe 100755
--- a/ci/customization/lib_map.sh
+++ b/ci/customization/lib_map.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES.
+# SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES.
# All rights reserved.
# SPDX-License-Identifier: Apache-2.0
diff --git a/ci/update_symlinks.sh b/ci/update_symlinks.sh
index c2d18d225f1..7940930fcf9 100755
--- a/ci/update_symlinks.sh
+++ b/ci/update_symlinks.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES.
+# SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES.
# All rights reserved.
# SPDX-License-Identifier: Apache-2.0
diff --git a/ci/upload_cudf_java_docs.sh b/ci/upload_cudf_java_docs.sh
index a67cc93e02a..5e6e6af7a28 100755
--- a/ci/upload_cudf_java_docs.sh
+++ b/ci/upload_cudf_java_docs.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES.
+# SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES.
# All rights reserved.
# SPDX-License-Identifier: Apache-2.0