Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .agents/skills/debug-cudf-pandas/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ The file `python/cudf/cudf/pandas/scripts/pandas-testing-plugin.py` contains thr
- **`NODEIDS_TO_SKIP`** — tests marked `skip` (not run at all). Keys are alphabetically sorted.
- **`NODEIDS_PATHS_TO_SKIP`** — prefix-based path skips covering entire modules.

The pandas-tests harness runs with `xfail_strict = false` (set in the vendored `pandas-tests/pyproject.toml` to tolerate flaky XPASSes — [rapidsai/cudf#22681](https://github.com/rapidsai/cudf/issues/22681)). A test listed in `NODEIDS_THAT_FAIL` that now *passes* is therefore reported as `XPASS` **without failing the run**, so a stale entry will not flag itself. You must change the false to true yourself before testing your fix; otherwise the test reports `XPASS` instead of a genuine `PASSED` and the dead marker lingers silently. Do not commit this change in any commit.
The pandas-tests harness runs with `xfail_strict = false` (set in the vendored `pandas-tests/pyproject.toml` to tolerate flaky XPASSes — [NVIDIA/cudf#22681](https://github.com/NVIDIA/cudf/issues/22681)). A test listed in `NODEIDS_THAT_FAIL` that now *passes* is therefore reported as `XPASS` **without failing the run**, so a stale entry will not flag itself. You must change the false to true yourself before testing your fix; otherwise the test reports `XPASS` instead of a genuine `PASSED` and the dead marker lingers silently. Do not commit this change in any commit.

Search for the node ID:

Expand Down
10 changes: 5 additions & 5 deletions .agents/skills/perf-compare-cudf/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ description: Benchmark a cuDF branch, WIP changes, or a PR against the `main` br
---

Use this skill when the user asks to compare libcudf benchmark performance for:
- **the current branch or WIP changes** against `rapidsai/cudf` `main`.
- **a cudf PR link or number** against `rapidsai/cudf` `main`.
- **the current branch or WIP changes** against `NVIDIA/cudf` `main`.
- **a cudf PR link or number** against `NVIDIA/cudf` `main`.

# Goal

Run the same selected libcudf NVBench benchmarks on the target (current WIP or cudf PR) and then on `rapidsai/cudf` `main`, then report meaningful differences.
Run the same selected libcudf NVBench benchmarks on the target (current WIP or cudf PR) and then on `NVIDIA/cudf` `main`, then report meaningful differences.

`<cudf-remote>` is the git remote for `https://github.com/rapidsai/cudf` (often `upstream`). Detect it with `git remote -v`.
`<cudf-remote>` is the git remote for `https://github.com/NVIDIA/cudf` (often `upstream`). Detect it with `git remote -v`.

## Prerequisites

Expand All @@ -37,7 +37,7 @@ Run the same selected libcudf NVBench benchmarks on the target (current WIP or c
- For current-branch or WIP targets: keep target changes applied for the target run.
- For PR targets: Stash any unrelated local changes, record the stash name, and check out the PR:
```bash
gh pr checkout <PR_NUMBER> --repo rapidsai/cudf
gh pr checkout <PR_NUMBER> --repo NVIDIA/cudf
```
- For PR targets: After switching, check if the PR branch is behind `<cudf-remote>/main` and add a merge commit. DO **NOT** push anything. If there are merge conflicts, stop and guide the user to fix them.

Expand Down
10 changes: 5 additions & 5 deletions .agents/skills/reproduce-ci/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ You need three arguments for `run.sh`: **container image**, **CI script**, and *
### Option A: Discover from a GitHub Actions Job URL

Use this option when the user provides a URL like:
`https://github.com/rapidsai/cudf/actions/runs/<run_id>/job/<job_id>?pr=<pr_number>`
`https://github.com/NVIDIA/cudf/actions/runs/<run_id>/job/<job_id>?pr=<pr_number>`

**Parse the Job URL:**

Expand All @@ -66,7 +66,7 @@ If the script is unavailable, extract manually:
Use the extracted IDs to get job details:

```bash
gh api repos/rapidsai/cudf/actions/runs/$RUN_ID/jobs \
gh api repos/NVIDIA/cudf/actions/runs/$RUN_ID/jobs \
--jq ".jobs[] | select(.id == $JOB_ID)"
```

Expand All @@ -77,7 +77,7 @@ From the job JSON, note:
Download the full job log:

```bash
gh run view "$RUN_ID" --repo rapidsai/cudf --job "$JOB_ID" --log > /tmp/ci_job_log.txt
gh run view "$RUN_ID" --repo NVIDIA/cudf --job "$JOB_ID" --log > /tmp/ci_job_log.txt
```

Read through the log to identify:
Expand Down Expand Up @@ -139,7 +139,7 @@ The script automatically detects `RAPIDS_SHA` (the PR's head commit) using `gh p
This is required by CI helper scripts inside the container to locate build artifacts.
If auto-detection fails (e.g., `gh` is not authenticated), set it manually:
```bash
export RAPIDS_SHA=$(gh pr view <pr-number> --repo rapidsai/cudf --json commits --jq '.commits[-1].oid')
export RAPIDS_SHA=$(gh pr view <pr-number> --repo NVIDIA/cudf --json commits --jq '.commits[-1].oid')
```
The script launches a detached container, runs the CI script, and leaves the container running for inspection.
After `--timeout` minutes of idle (default: 30), the container is automatically removed.
Expand Down Expand Up @@ -173,7 +173,7 @@ After `run.sh` completes, analyze the local output against the CI outcome:

| Problem | Fix |
|---------|-----|
| `GIT_DESCRIBE_NUMBER is undefined` | `git fetch https://github.com/rapidsai/cudf.git --tags` |
| `GIT_DESCRIBE_NUMBER is undefined` | `git fetch https://github.com/NVIDIA/cudf.git --tags` |
| Interactive GitHub auth prompt inside container | Ensure `GH_TOKEN` is set — `run.sh` passes it through automatically via `gh auth token` |
| GPU driver mismatch causing test differences | Note driver version from CI log; compare with local `nvidia-smi` |
| Log download returns empty or 403 | Verify `gh auth status` has `repo` scope; re-auth with `gh auth login` if needed |
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/reproduce-ci/parse-job-url.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# Parse a GitHub Actions job URL and emit shell-friendly variable assignments.
#
# Usage:
# python parse-job-url.py "https://github.com/rapidsai/cudf/actions/runs/<run_id>/job/<job_id>?pr=<pr_number>"
# python parse-job-url.py "https://github.com/NVIDIA/cudf/actions/runs/<run_id>/job/<job_id>?pr=<pr_number>"
#
# Output (eval-able):
# RUN_ID=XXXXXXXXXX
Expand Down
4 changes: 2 additions & 2 deletions .agents/skills/reproduce-ci/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ fi
# Determine RAPIDS_SHA from the PR's head commit
RAPIDS_SHA="${RAPIDS_SHA:-}"
if [[ -z "$RAPIDS_SHA" ]]; then
RAPIDS_SHA=$(gh pr view "$PR_NUMBER" --repo rapidsai/cudf --json commits --jq '.commits[-1].oid' 2>/dev/null || true)
RAPIDS_SHA=$(gh pr view "$PR_NUMBER" --repo NVIDIA/cudf --json commits --jq '.commits[-1].oid' 2>/dev/null || true)
if [[ -z "$RAPIDS_SHA" ]]; then
echo "Warning: Could not determine RAPIDS_SHA for PR #${PR_NUMBER}."
echo "Artifact downloads inside the container may fail."
Expand All @@ -106,7 +106,7 @@ DOCKER_ARGS=(
--volume "$PWD:/repo"
--workdir /repo
--env "RAPIDS_BUILD_TYPE=pull-request"
--env "RAPIDS_REPOSITORY=rapidsai/cudf"
--env "RAPIDS_REPOSITORY=NVIDIA/cudf"
--env "RAPIDS_REF_NAME=pull-request/${PR_NUMBER}"
--name "$CONTAINER_NAME"
-d
Expand Down
6 changes: 3 additions & 3 deletions .agents/skills/review-cudf/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ Use this skill when the user invokes `/review-cudf` with:
- currently checked out cudf PR
- specified cudf code changes or a diff

cudf GitHub repository is located at: https://github.com/rapidsai/cudf
cudf GitHub repository is located at: https://github.com/NVIDIA/cudf

# Review cuDF Pull Request

1. **Fetch PR metadata and diff**

```bash
gh pr view <PR_NUMBER> --repo rapidsai/cudf --json title,body,files,additions,deletions,baseRefName,headRefName
gh pr diff <PR_NUMBER> --repo rapidsai/cudf
gh pr view <PR_NUMBER> --repo NVIDIA/cudf --json title,body,files,additions,deletions,baseRefName,headRefName
gh pr diff <PR_NUMBER> --repo NVIDIA/cudf
```

Hint: Check if `GH_TOKEN` (or GitHub CLI auth) is already configured in the environment (for example via your secret manager) so `gh` can authenticate and bypass rate limits; do not run `gh auth token` from within the agent. If `gh` auth is unavailable, fall back to GitHub's raw diff/patch URLs, `git fetch` of the PR ref, unauthenticated GitHub REST API with `curl`, or any other available methods.
Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/cuda12.9-conda/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"BASE": "rapidsai/devcontainers:26.10-cpp-mambaforge"
},
"cacheFrom": [
"ghcr.io/rapidsai/cudf/devcontainer:26.10-cuda12.9-conda"
"ghcr.io/nvidia/cudf/devcontainer:26.10-cuda12.9-conda"
]
},
"runArgs": [
Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/cuda12.9-pip/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"BASE": "rapidsai/devcontainers:26.10-cpp-cuda12.9-ucx1.19.0-openmpi5.0.10"
},
"cacheFrom": [
"ghcr.io/rapidsai/cudf/devcontainer:26.10-cuda12.9-pip"
"ghcr.io/nvidia/cudf/devcontainer:26.10-cuda12.9-pip"
]
},
"runArgs": [
Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/cuda13.3-conda/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"BASE": "rapidsai/devcontainers:26.10-cpp-mambaforge"
},
"cacheFrom": [
"ghcr.io/rapidsai/cudf/devcontainer:26.10-cuda13.3-conda"
"ghcr.io/nvidia/cudf/devcontainer:26.10-cuda13.3-conda"
]
},
"runArgs": [
Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/cuda13.3-pip/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"BASE": "rapidsai/devcontainers:26.10-cpp-cuda13.3-ucx1.19.0-openmpi5.0.10"
},
"cacheFrom": [
"ghcr.io/rapidsai/cudf/devcontainer:26.10-cuda13.3-pip"
"ghcr.io/nvidia/cudf/devcontainer:26.10-cuda13.3-pip"
]
},
"runArgs": [
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/pandas_function_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ assignees: ''

---

This issue template is intended to be used primarily for requests related to pandas accelerator mode. If you'd like to file a general cuDF feature request, please [click here](https://github.com/rapidsai/cudf/issues/new?assignees=&labels=%3F+-+Needs+Triage%2C+feature+request&projects=&template=feature_request.md&title=%5BFEA%5D).
This issue template is intended to be used primarily for requests related to pandas accelerator mode. If you'd like to file a general cuDF feature request, please [click here](https://github.com/NVIDIA/cudf/issues/new?assignees=&labels=%3F+-+Needs+Triage%2C+feature+request&projects=&template=feature_request.md&title=%5BFEA%5D).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use descriptive link text.

Line 10 uses click here as the link text. This triggers markdownlint MD059 and does not identify the destination clearly. Replace it with text such as open a general cuDF feature request.

🧰 Tools
🪛 markdownlint-cli2 (0.23.2)

[warning] 10-10: Link text should be descriptive

(MD059, descriptive-link-text)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/ISSUE_TEMPLATE/pandas_function_request.md at line 10, Update the
markdown link text in the issue template to replace “click here” with
descriptive wording such as “open a general cuDF feature request,” while
preserving the existing destination URL and surrounding sentence.

Source: Linters/SAST tools



**Missing Pandas Feature Request**
Expand Down
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
<!-- Note: The pull request title will be included in the CHANGELOG. -->

## Checklist
- [ ] I am familiar with the [Contributing Guidelines](https://github.com/rapidsai/cudf/blob/HEAD/CONTRIBUTING.md).
- [ ] I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/cudf/blob/HEAD/CONTRIBUTING.md).
- [ ] New or existing tests cover these changes.
- [ ] The documentation is up to date with these changes.
14 changes: 7 additions & 7 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ jobs:
with:
build_type: pull-request
script: ci/test_cpp.sh
# https://github.com/rapidsai/cudf/issues/23498
# https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200"))
conda-python-build:
needs: [build-details, conda-cpp-build]
Expand Down Expand Up @@ -488,7 +488,7 @@ jobs:
with:
build_type: pull-request
script: "ci/test_python_cudf.sh"
# https://github.com/rapidsai/cudf/issues/23498
# https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200"))
conda-python-other-tests:
# Tests for dask_cudf, cudf_polars, custreamz, cudf_kafka are separated for CI parallelism
Expand All @@ -504,10 +504,10 @@ jobs:
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_conda
with:
build_type: pull-request
# https://github.com/rapidsai/cudf/pull/22381/changes#r3196736965
# https://github.com/NVIDIA/cudf/pull/22381/changes#r3196736965
container-options: "--cap-add CAP_SYS_PTRACE --shm-size=8g --ulimit=nofile=1000000:1000000"
script: "ci/test_python_other.sh"
# https://github.com/rapidsai/cudf/issues/23498
# https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200"))
conda-java-tests:
needs: [conda-cpp-build, changed-files]
Expand Down Expand Up @@ -651,7 +651,7 @@ jobs:
with:
build_type: pull-request
script: ci/test_wheel_cudf_streaming.sh
# https://github.com/rapidsai/cudf/issues/23498
# https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200"))
wheel-build-pylibcudf:
needs: [build-details, checks, wheel-build-libcudf]
Expand Down Expand Up @@ -705,7 +705,7 @@ jobs:
with:
build_type: pull-request
script: ci/test_wheel_cudf.sh
# https://github.com/rapidsai/cudf/issues/23498
# https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200"))
wheel-build-cudf-polars:
needs: [build-details, wheel-build-pylibcudf]
Expand Down Expand Up @@ -833,7 +833,7 @@ jobs:
if: (fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels || fromJSON(needs.changed-files.outputs.changed_file_groups).test_cudf_pandas) && fromJSON(needs.changed-files.outputs.changed_file_groups).neither_cudf_polars_nor_dask_cudf
with:
# This selects the latest supported Python + CUDA minor versions for each ARCH/CUDA major version combo
# Filter out GB300 due to https://github.com/rapidsai/cudf/issues/23498
# Filter out GB300 due to https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: group_by([(.ARCH), (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))])) | map(select(.GPU != "gb300" and .GPU != "gh200"))
build_type: pull-request
script: ci/cudf_pandas_scripts/run_tests.sh
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
date: ${{ inputs.date }}
script: ci/test_cpp.sh
sha: ${{ inputs.sha }}
# https://github.com/rapidsai/cudf/issues/23498
# https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200"))
conda-cpp-benchmark-tests:
permissions:
Expand Down Expand Up @@ -123,7 +123,7 @@ jobs:
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: "ci/test_python_cudf.sh"
# https://github.com/rapidsai/cudf/issues/23498
# https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200"))
conda-python-other-tests:
# Tests for dask_cudf, custreamz, cudf_kafka are separated for CI parallelism
Expand All @@ -141,7 +141,7 @@ jobs:
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: "ci/test_python_other.sh"
# https://github.com/rapidsai/cudf/issues/23498
# https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200"))
conda-java-tests:
permissions:
Expand Down Expand Up @@ -224,7 +224,7 @@ jobs:
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: ci/cudf_pandas_scripts/run_tests.sh
# https://github.com/rapidsai/cudf/issues/23498
# https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200"))
third-party-integration-tests-cudf-pandas:
permissions:
Expand Down Expand Up @@ -279,7 +279,7 @@ jobs:
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: "ci/test_wheel_cudf_polars.sh"
# https://github.com/rapidsai/cudf/issues/23498
# https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200"))
cudf-polars-polars-tests:
permissions:
Expand All @@ -296,7 +296,7 @@ jobs:
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: "ci/test_cudf_polars_polars_tests.sh"
# https://github.com/rapidsai/cudf/issues/23498
# https://github.com/NVIDIA/cudf/issues/23498
matrix_filter: map(select(.GPU != "gb300" and .GPU != "gh200"))
narwhals-tests:
permissions:
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ repos:
"polars>=1.35,<1.43",
"numpy>=1.26",
"pyarrow-stubs>=19.0",
"pyarrow>=19.0.0,<24.0.0", # https://github.com/rapidsai/cudf/issues/22229
"pyarrow>=19.0.0,<24.0.0", # https://github.com/NVIDIA/cudf/issues/22229
"pytest>=8.0.0,<9.1.0",
"types-cachetools>=5.5.0",
"rmm-cu12==26.10.*,>=0.0.0a0; sys_platform=='linux'",
Expand Down
Loading
Loading