Skip to content

Conversation

@cpcloud
Copy link
Contributor

@cpcloud cpcloud commented Jan 9, 2026

Remove unnecessary conda build infrastructure.

@copy-pr-bot
Copy link

copy-pr-bot bot commented Jan 9, 2026

Auto-sync is disabled for ready for review pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@cpcloud
Copy link
Contributor Author

cpcloud commented Jan 9, 2026

/ok to test

1 similar comment
@cpcloud
Copy link
Contributor Author

cpcloud commented Jan 9, 2026

/ok to test

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

This PR removes conda build infrastructure from CI/CD pipelines, completing the migration to pixi-based workflows that began in previous commits.

  • Removes build-conda jobs from both CI and publish workflows
  • Deletes the entire conda-python-build.yaml reusable workflow
  • Removes the conda recipe file conda/recipes/numba-cuda/meta.yaml
  • One issue found: .pre-commit-config.yaml still excludes the deleted meta.yaml file

Note: The scripts ci/build_conda.sh and ci/upload_conda.sh remain in the repository but are no longer called by any workflow. Consider removing them in a follow-up if they're truly obsolete.

Confidence Score: 4/5

  • This PR is safe to merge after addressing the stale pre-commit exclusion
  • The removal is clean and well-scoped, with all workflow dependencies properly handled. One minor style issue found with a stale file exclusion in pre-commit config. The orphaned build scripts don't cause issues but should be cleaned up eventually.
  • .pre-commit-config.yaml needs update to remove stale exclusion

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/ci-new.yaml 5/5 Removed build-conda job cleanly - no remaining dependencies
.github/workflows/publish.yaml 5/5 Removed build-conda job from release workflow cleanly
conda/recipes/numba-cuda/meta.yaml 4/5 Recipe file deleted but .pre-commit-config.yaml still excludes it
.pre-commit-config.yaml 4/5 Contains stale exclusion for deleted conda/recipes/numba-cuda/meta.yaml file

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 9, 2026

Additional Comments (1)

.pre-commit-config.yaml
stale exclusion for deleted file

      exclude: ^$

@cpcloud cpcloud force-pushed the remove-conda-build-ci branch from 83e7907 to 86d3096 Compare January 9, 2026 13:42
@cpcloud
Copy link
Contributor Author

cpcloud commented Jan 9, 2026

/ok to test

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

This PR removes redundant conda build infrastructure from the CI/CD pipeline. The changes eliminate the separate conda build workflow that was previously used to create conda packages, as the project now relies exclusively on pixi's build system.

Key Changes:

  • Removed build-conda job from both CI and publish workflows
  • Deleted .github/workflows/conda-python-build.yaml workflow file
  • Deleted ci/build_conda.sh build script
  • Deleted conda/recipes/numba-cuda/meta.yaml recipe file
  • Updated test-conda job to no longer depend on build-conda (relies on pixi building from source via numba-cuda = { path = "." } in pixi.toml)
  • Regenerated pixi.lock to remove input hash metadata

Impact:
The project now uses a single build mechanism (pixi with pixi-build-python backend) instead of maintaining parallel conda and pixi build systems. Tests will continue to work as pixi automatically builds the package from source when creating test environments. The publish workflow now only releases wheels to PyPI, with no conda package uploads to Anaconda.

Confidence Score: 5/5

  • Safe to merge - clean removal of redundant infrastructure with no breaking changes
  • This is a straightforward removal of duplicate build infrastructure. The test-conda job previously depended on build-conda to create a conda package, but this was redundant because pixi already builds the package from source (via the path dependency in pixi.toml). All removed files and references are cleanly eliminated with no dangling dependencies. The workflow will continue to function correctly as pixi handles package building automatically.
  • No files require special attention

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/ci-new.yaml 5/5 Removed redundant build-conda job; test-conda now relies on pixi build from source
.github/workflows/conda-python-build.yaml 5/5 Deleted entire conda build workflow file, no longer needed
.github/workflows/publish.yaml 5/5 Removed build-conda job from release workflow; releases now only publish wheels
ci/build_conda.sh 5/5 Deleted conda build script, replaced by pixi build system
conda/recipes/numba-cuda/meta.yaml 5/5 Removed conda recipe file, package now built via pixi configuration
pixi.lock 5/5 Regenerated lockfile after removing conda build metadata; only removes input hash fields

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

This PR removes redundant conda build infrastructure from the CI pipeline. The changes are well-scoped and safe:

What was removed:

  • The build-conda job from both ci-new.yaml and publish.yaml workflows
  • The entire conda-python-build.yaml reusable workflow file
  • The ci/build_conda.sh build script
  • The conda/recipes/numba-cuda/meta.yaml conda recipe (and entire conda directory)

Why this is safe:

  • The test-conda job uses pixi to build and test numba-cuda from source (via pixi.toml which defines numba-cuda = { path = "." }), not from a pre-built conda package
  • The test-conda job only depends on compute-matrix, not on build-conda
  • The checks job never listed build-conda as a dependency
  • No other workflows or jobs reference the removed conda build infrastructure
  • The publish workflow continues to publish wheels to PyPI, which remains functional

Minor cleanup needed:

  • The .pre-commit-config.yaml file still excludes the now-deleted conda/recipes/numba-cuda/meta.yaml file from check-yaml validation. This is a harmless but unnecessary exclusion that should be cleaned up.
  • The ci/upload_conda.sh script is now orphaned (it was only referenced in the deleted conda-python-build.yaml), though it's not causing any issues.

The removal aligns with the repository's current build strategy which uses pixi for testing and wheels for distribution.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk - it cleanly removes unused infrastructure without breaking any workflows
  • The changes are straightforward deletions that remove genuinely redundant build infrastructure. The test-conda job uses pixi to build from source, making the separate conda build step unnecessary. All workflow dependencies have been verified - no jobs depend on the removed build-conda job. The only minor issue is cosmetic (stale pre-commit exclusion).
  • No files require special attention - all changes are clean deletions of unused infrastructure

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/ci-new.yaml 5/5 Removes the redundant build-conda job that is no longer needed since test-conda uses pixi to build from source
.github/workflows/conda-python-build.yaml 5/5 Deletes the entire conda-python-build workflow that is no longer used
.github/workflows/publish.yaml 5/5 Removes the build-conda job from publish workflow, now only publishing wheels to PyPI
ci/build_conda.sh 5/5 Deletes the conda build script that is no longer needed
conda/recipes/numba-cuda/meta.yaml 5/5 Deletes the conda recipe that is no longer used for building

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 9, 2026

Additional Comments (1)

.pre-commit-config.yaml
The check-yaml hook excludes conda/recipes/numba-cuda/meta.yaml, but this file is being deleted in this PR. This exclusion line should be removed to keep the configuration clean.

    - id: check-yaml

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

This PR removes the conda build infrastructure from the repository, including:

Files Deleted:

  • .github/workflows/conda-python-build.yaml - Workflow file for building conda packages
  • ci/build_conda.sh - Shell script for building conda packages
  • conda/recipes/numba-cuda/meta.yaml - Conda package recipe/metadata

Workflow Changes:

  • .github/workflows/ci-new.yaml: Removed the build-conda job (lines 209-216)
  • .github/workflows/publish.yaml: Removed the build-conda job from the release workflow (lines 32-41)
  • .github/workflows/conda-python-tests.yaml, .github/workflows/docs-build.yaml, .github/workflows/simulator-test.yaml: Updated pixi version from v0.61.0 to v0.62.2

Lock File Changes:

  • pixi.lock: Removed conda build metadata (input hash sections) for numba-cuda packages

Issue Identified:
The .pre-commit-config.yaml file still contains an exclusion pattern for the deleted conda/recipes/numba-cuda/meta.yaml file (line 11). This should be removed since the file no longer exists.

Confidence Score: 3/5

  • This PR has a stale configuration reference that needs to be fixed before merging - the .pre-commit-config.yaml still excludes a file that has been deleted
  • The PR correctly removes conda build infrastructure including workflow files, build scripts, and package recipes. However, the .pre-commit-config.yaml file still contains an exclusion pattern for 'conda/recipes/numba-cuda/meta.yaml' which has been deleted. This is a configuration inconsistency that should be cleaned up. All workflow modifications are appropriate and dependencies are properly maintained. The pixi.lock changes correctly remove conda build metadata. Once the .pre-commit-config.yaml issue is resolved, this PR would be safe to merge.
  • .pre-commit-config.yaml - contains stale exclusion for deleted file

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/ci-new.yaml 5/5 Successfully removed the build-conda job (lines 209-216) from the CI workflow. The test-conda job and checks job remain properly configured with correct dependencies. No broken references.
.github/workflows/publish.yaml 5/5 Removed the build-conda job (lines 32-41) from the release workflow. This is the main job responsible for uploading packages to anaconda. The wheel publishing still works correctly.
ci/build_conda.sh 5/5 File deleted as part of conda build infrastructure removal. Was used to build conda packages, no longer needed.
conda/recipes/numba-cuda/meta.yaml 5/5 File deleted as part of conda build infrastructure removal. Was the conda recipe/manifest file, no longer needed.
pixi.lock 5/5 Removed conda build metadata from lock file (removed input hash sections for multiple numba-cuda package entries). This is correct cleanup related to the conda build removal.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 9, 2026

Additional Comments (1)

.pre-commit-config.yaml
The file conda/recipes/numba-cuda/meta.yaml has been deleted in this PR, but the pre-commit check still excludes it. Since the file no longer exists, this exclusion is redundant and should be removed or replaced with an empty pattern.

      exclude: ^$

@cpcloud cpcloud force-pushed the remove-conda-build-ci branch from 86d3096 to 9bd2203 Compare January 9, 2026 14:08
@cpcloud
Copy link
Contributor Author

cpcloud commented Jan 9, 2026

/ok to test

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

This PR removes redundant conda build infrastructure by:

  1. Deleted Files:

    • .github/workflows/conda-python-build.yaml - Workflow for building conda packages
    • ci/build_conda.sh - Build script used by the conda build workflow
    • conda/recipes/numba-cuda/meta.yaml - Conda recipe metadata
  2. Modified Workflow Files (removals):

    • .github/workflows/ci-new.yaml - Removed build-conda job that called the deleted workflow
    • .github/workflows/publish.yaml - Removed build-conda job from the release pipeline
  3. Version Updates:

    • Updated pixi version from v0.61.0 to v0.62.2 across multiple workflows for consistency:
      • .github/workflows/conda-python-tests.yaml
      • .github/workflows/docs-build.yaml
      • .github/workflows/simulator-test.yaml
    • Updated various dependency versions in pixi.lock (ca-certificates, filelock, libgcc, psutil, pre-commit, python, etc.)

The changes correctly remove the conda build infrastructure while maintaining the conda testing capabilities through the retained test-conda job which uses conda-python-tests.yaml and ci/test_conda.sh. All references to the deleted files have been properly removed from the CI workflows.

Issue Identified: The .pre-commit-config.yaml file still excludes the deleted conda/recipes/numba-cuda/meta.yaml file from YAML validation, creating a stale configuration entry.

Confidence Score: 4/5

  • This PR is generally safe to merge with one minor configuration cleanup needed
  • The PR successfully removes redundant conda build infrastructure with proper cleanup of all workflow references. All deleted files (conda-python-build.yaml, build_conda.sh, meta.yaml) are completely removed from the codebase with no remaining references in CI workflows. The pixi version updates across workflows are consistent and benign. However, there is one outstanding issue: the .pre-commit-config.yaml file still contains an exclusion for the now-deleted conda/recipes/numba-cuda/meta.yaml file. While this won't break anything (pre-commit simply won't find the file to exclude), it leaves stale configuration that should be cleaned up for code hygiene.
  • .pre-commit-config.yaml - Remove stale exclusion for deleted file

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/ci-new.yaml 5/5 Correctly removed build-conda job which is no longer needed; test-conda job remains intact and is properly referenced in the checks job
.github/workflows/conda-python-tests.yaml 5/5 Updated pixi-version from v0.61.0 to v0.62.2 for consistency; this is a benign version bump
.github/workflows/docs-build.yaml 5/5 Updated pixi-version from v0.61.0 to v0.62.2 for consistency with other workflows
.github/workflows/publish.yaml 5/5 Correctly removed build-conda job which is no longer part of the release publishing pipeline
.github/workflows/simulator-test.yaml 5/5 Updated pixi-version from v0.61.0 to v0.62.2 for consistency across workflows
ci/build_conda.sh 5/5 File deleted as part of removing redundant conda build infrastructure; no longer referenced anywhere in the codebase
conda/recipes/numba-cuda/meta.yaml 5/5 File deleted as part of removing redundant conda build infrastructure
pixi.lock 5/5 Lock file updated with dependency version bumps (ca-certificates, filelock, libgcc, libgomp, psutil, pre-commit, python, etc.)

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 9, 2026

Additional Comments (1)

.pre-commit-config.yaml
The check-yaml hook excludes conda/recipes/numba-cuda/meta.yaml, but this file is being deleted in this PR. This exclusion line should be removed to keep the configuration clean.

    - id: check-yaml

@cpcloud
Copy link
Contributor Author

cpcloud commented Jan 9, 2026

/ok to test

@cpcloud
Copy link
Contributor Author

cpcloud commented Jan 9, 2026

Additional Comments (1)

.pre-commit-config.yaml The check-yaml hook excludes conda/recipes/numba-cuda/meta.yaml, but this file is being deleted in this PR. This exclusion line should be removed to keep the configuration clean.

    - id: check-yaml

There are plenty of other YAML files in the repo. This is incorrect, the line should be kept.

@cpcloud
Copy link
Contributor Author

cpcloud commented Jan 9, 2026

/ok to test

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

This PR removes redundant conda build infrastructure from the CI/CD pipeline. The changes include:

  • Deleted conda build workflow (.github/workflows/conda-python-build.yaml): This reusable workflow orchestrated conda package building
  • Removed build-conda jobs: Eliminated from both ci-new.yaml (pull requests) and publish.yaml (releases)
  • Deleted conda recipe and build script: Removed conda/recipes/numba-cuda/meta.yaml and ci/build_conda.sh
  • Updated pixi.lock: Routine dependency updates (Python 3.14.1→3.14.2, numpy 2.3.5→2.4.0, etc.)

The project continues to build wheels through the existing build-wheels and build-wheels-windows jobs. Testing remains functional via test-conda which uses pixi environments rather than conda-built packages. This cleanup removes the duplicate conda packaging path while preserving all necessary build and test functionality.

Confidence Score: 5/5

  • Safe to merge - removes unused infrastructure without affecting active build/test workflows
  • The PR cleanly removes conda build infrastructure that was redundant. All active workflows (wheel builds, tests) remain intact. The only minor issue is an orphaned script (ci/upload_conda.sh) which is a cleanup item, not a blocking issue. The test-conda job continues to function using pixi environments.
  • No files require special attention

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/ci-new.yaml 5/5 Removes build-conda job that built conda packages in pull requests. Test-conda job remains and tests using pixi environments, no issues found.
.github/workflows/conda-python-build.yaml 5/5 Entire workflow deleted - previously orchestrated conda package builds. No longer referenced by any workflow.
.github/workflows/publish.yaml 5/5 Removes build-conda job from publish workflow. Wheels are still built and published, conda publishing removed as intended.
ci/build_conda.sh 5/5 Script deleted - was used to build conda packages. No longer referenced by any workflow.
conda/recipes/numba-cuda/meta.yaml 5/5 Conda recipe deleted. Still referenced in .pre-commit-config.yaml exclusion (see previous thread comments).
pixi.lock 5/5 Standard lockfile update with dependency version bumps (ca-certificates, python, numpy, etc.). Appears to be routine maintenance.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 9, 2026

Additional Comments (1)

ci/upload_conda.sh
[P3] This script is orphaned after removing the conda build workflow. It was only called from .github/workflows/conda-python-build.yaml which has been deleted. Consider removing this file to complete the cleanup.

@kkraus14
Copy link
Contributor

kkraus14 commented Jan 9, 2026

@cpcloud will defer to you on merging this and #712 because they'll conflict

@cpcloud
Copy link
Contributor Author

cpcloud commented Jan 9, 2026

This one can go first I think.

@cpcloud cpcloud merged commit 66f4e17 into NVIDIA:main Jan 9, 2026
174 of 178 checks passed
@cpcloud cpcloud deleted the remove-conda-build-ci branch January 9, 2026 20:22
gmarkall added a commit to gmarkall/numba-cuda that referenced this pull request Jan 12, 2026
- Add arch specific target support (NVIDIA#549)
- chore: disable `locked` flag to bypass prefix-dev/pixi#5256 (NVIDIA#714)
- ci: relock pixi (NVIDIA#712)
- ci: remove redundant conda build in ci (NVIDIA#711)
- chore(deps): bump numba-cuda version and relock pixi (NVIDIA#707)
- Dropping bits in the old CI & Propagating recent changes from cuda-python (NVIDIA#683)
- Fix `test_wheel_deps_wheels.sh` to actually uninstall `nvvm` and `nvrtc` packages for CUDA 13 (NVIDIA#701)
- perf: remove some exception control flow and buffer-exception penalization for arrays (NVIDIA#700)
- perf: let CAI fall through instead of calling from_cuda_array_interface (NVIDIA#694)
- chore: perf lint (NVIDIA#697)
- chore(deps): bump deps in pixi lockfile (NVIDIA#693)
- fix: use freethreading-supported `_PySet_NextItemRef` where possible (NVIDIA#682)
- Support python `3.14` (NVIDIA#599)
- Remove customized address space tracking and address class emission in debug info (NVIDIA#669)
- Drop `experimental` from cuda.core namespace imports (NVIDIA#676)
- Remove dangling references to NUMBA_CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY (NVIDIA#675)
- Use `rapidsai/sccache` in CI (NVIDIA#674)
- chore(dev-deps): remove ipython and pyinstrument (NVIDIA#670)
- Set up a new VM-based CI infrastructure  (NVIDIA#604)
@gmarkall gmarkall mentioned this pull request Jan 12, 2026
gmarkall added a commit that referenced this pull request Jan 12, 2026
- Add arch specific target support (#549)
- chore: disable `locked` flag to bypass
prefix-dev/pixi#5256 (#714)
- ci: relock pixi (#712)
- ci: remove redundant conda build in ci (#711)
- chore(deps): bump numba-cuda version and relock pixi (#707)
- Dropping bits in the old CI & Propagating recent changes from
cuda-python (#683)
- Fix `test_wheel_deps_wheels.sh` to actually uninstall `nvvm` and
`nvrtc` packages for CUDA 13 (#701)
- perf: remove some exception control flow and buffer-exception
penalization for arrays (#700)
- perf: let CAI fall through instead of calling
from_cuda_array_interface (#694)
- chore: perf lint (#697)
- chore(deps): bump deps in pixi lockfile (#693)
- fix: use freethreading-supported `_PySet_NextItemRef` where possible
(#682)
- Support python `3.14` (#599)
- Remove customized address space tracking and address class emission in
debug info (#669)
- Drop `experimental` from cuda.core namespace imports (#676)
- Remove dangling references to
NUMBA_CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY (#675)
- Use `rapidsai/sccache` in CI (#674)
- chore(dev-deps): remove ipython and pyinstrument (#670)
- Set up a new VM-based CI infrastructure  (#604)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants