Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 31, 2025

Extends CI matrix to build, test, and publish Python 3.14 packages alongside existing 3.10-3.13 versions on Linux platforms. Windows continues to support up to Python 3.13 due to pyenv-win limitations.

Changes

Updated ci/build_cuda_cccl_python.sh:

  • Use Python 3.10 base Docker image (devcontainer_python_version=3.10)
  • Install requested py_version via pyenv inside the container
  • Enables Python 3.14 support without requiring py3.14 Docker images

Updated ci/matrix.yaml to include Python 3.14:

  • pull_request: Latest version testing changed from 3.13 → 3.14 (Linux only)
  • pull_request_lite: Latest version changed from 3.13 → 3.14 (Linux only)
  • nightly/weekly: Added 3.14 for Linux (gcc13), kept 3.13 for Windows (msvc)
  • python-wheels: Added 3.14 for x86_64 and arm64 Linux architectures
  • override: Added minimal test matrix (Python 3.10 + 3.14 on Linux, 3.10 + 3.13 on Windows) for CI cost reduction during validation

Platform Support

  • Linux (gcc13): Python 3.10, 3.11, 3.12, 3.13, 3.14
  • Windows (msvc): Python 3.10, 3.11, 3.12, 3.13 (3.14 not supported due to pyenv-win)
  • arm64: Full Python 3.14 support

Follows the pattern established in #6060 for multi-version Python support.

Original prompt

This section details on the original issue you should resolve

<issue_title>Build, test and publish Python 3.14 packages</issue_title>
<issue_description></issue_description>

<agent_instructions>Primarily this involves updating ci/matrix.yaml as was done in #6060.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

@copy-pr-bot
Copy link
Contributor

copy-pr-bot bot commented Oct 31, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

Copilot AI changed the title [WIP] Build, test and publish Python 3.14 packages Add Python 3.14 support to CI matrix Oct 31, 2025
Copilot AI requested a review from shwina October 31, 2025 14:05
Copilot finished work on behalf of shwina October 31, 2025 14:05
@shwina
Copy link
Contributor

shwina commented Nov 1, 2025

/ok to test

@copy-pr-bot
Copy link
Contributor

copy-pr-bot bot commented Nov 1, 2025

/ok to test

@shwina, there was an error processing your request: E1

See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/1/

@shwina
Copy link
Contributor

shwina commented Nov 1, 2025

/ok to test c1de988

@github-actions

This comment has been minimized.

@shwina
Copy link
Contributor

shwina commented Nov 5, 2025

@copilot CI uncovered the following issues. Please fix them:

  1. In build_cuda_cccl_python.sh we attempt to get a docker image ci-wheel/...py3.14 but it's not available yet. I think we can fix this by always using the minimum supported Python version for the image (3.10), but installing the requested py_version via pyenv. So the necessary change is to introduce a variable like readonly devcontainer_python_version=3.10 and then something like:

      if [[ "$(uname -m)" == "aarch64" ]]; then
        readonly cuda12_image=rapidsai/ci-wheel:${devcontainer_version}-cuda${cuda12_version}-${devcontainer_distro}-py${devcontainer_python_version}-arm64
        readonly cuda13_image=rapidsai/ci-wheel:${devcontainer_version}-cuda${cuda13_version}-${devcontainer_distro}-py${devcontainer_python_version}-arm64
      else
        readonly cuda12_image=rapidsai/ci-wheel:${devcontainer_version}-cuda${cuda12_version}-${devcontainer_distro}-py${devcontainer_python_version}
        readonly cuda13_image=rapidsai/ci-wheel:${devcontainer_version}-cuda${cuda13_version}-${devcontainer_distro}-py${devcontainer_python_version}
      fi
    
  2. For windows, a similar change is not possible, because pyenv-win doesn't seem to have a 3.14 build yet. So we're out of luck. Please change the CI matrix to ensure we don't attempt to build or test on Windows for Python 3.14 (3.13 will be the newest version we support)

  3. Finally, to cut CI costs, please populate the override section of ci/matrix.yaml with just Python 3.10 and 3.14 (or in the case of windows, 3.13) build and test jobs. Once we have CI passing, we'll remove the override and run the full CI.

- Use py3.10 Docker image, install requested version via pyenv
- Exclude Windows (msvc) from Python 3.14 builds (use 3.13 instead)
- Add override section with minimal Python 3.10/3.14 test jobs

Co-authored-by: shwina <[email protected]>
Copy link
Contributor Author

Copilot AI commented Nov 5, 2025

@copilot CI uncovered the following issues. Please fix them:

  1. In build_cuda_cccl_python.sh we attempt to get a docker image ci-wheel/...py3.14 but it's not available yet. I think we can fix ...

Fixed all three issues in commit 52f1ef6:

  1. Docker image fix: Modified build_cuda_cccl_python.sh to use devcontainer_python_version=3.10 for the Docker image. The requested py_version is installed via pyenv inside the container (as done in build_cuda_cccl_wheel.sh).

  2. Windows exclusion: Updated CI matrix to exclude msvc from Python 3.14 builds. Windows now uses Python 3.13 as the latest supported version. Split configuration across 11 Linux-only (gcc13 + 3.14) and 8 Windows (msvc + 3.13) entries.

  3. Override section: Added minimal test matrix with Python 3.10 and 3.14 for Linux (gcc13), and Python 3.10 and 3.13 for Windows (msvc), all using CTK 13.X and L4 GPU.

Copilot AI changed the title Add Python 3.14 support to CI matrix Add Python 3.14 support to CI matrix (Linux only) Nov 5, 2025
Copilot finished work on behalf of shwina November 5, 2025 15:47
@shwina
Copy link
Contributor

shwina commented Nov 5, 2025

/ok to test 52f1ef6

@shwina
Copy link
Contributor

shwina commented Nov 5, 2025

Blocked on numba 3.14 wheels.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 5, 2025

😬 CI Workflow Results

🟥 Finished in 1h 31m: Pass: 80%/20 | Total: 4h 40m | Max: 38m 39s

See results here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

Build, test and publish Python 3.14 packages

2 participants