-
Notifications
You must be signed in to change notification settings - Fork 54
ci: remove redundant conda build in ci #711
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
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. |
|
/ok to test |
1 similar comment
|
/ok to test |
There was a problem hiding this 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-condajobs from both CI and publish workflows - Deletes the entire
conda-python-build.yamlreusable workflow - Removes the conda recipe file
conda/recipes/numba-cuda/meta.yaml - One issue found:
.pre-commit-config.yamlstill excludes the deletedmeta.yamlfile
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.yamlneeds 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 |
Additional Comments (1)
|
83e7907 to
86d3096
Compare
|
/ok to test |
There was a problem hiding this 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-condajob from both CI and publish workflows - Deleted
.github/workflows/conda-python-build.yamlworkflow file - Deleted
ci/build_conda.shbuild script - Deleted
conda/recipes/numba-cuda/meta.yamlrecipe file - Updated
test-condajob to no longer depend onbuild-conda(relies on pixi building from source vianumba-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 |
There was a problem hiding this 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-condajob from bothci-new.yamlandpublish.yamlworkflows - The entire
conda-python-build.yamlreusable workflow file - The
ci/build_conda.shbuild script - The
conda/recipes/numba-cuda/meta.yamlconda recipe (and entire conda directory)
Why this is safe:
- The
test-condajob uses pixi to build and test numba-cuda from source (viapixi.tomlwhich definesnumba-cuda = { path = "." }), not from a pre-built conda package - The
test-condajob only depends oncompute-matrix, not onbuild-conda - The
checksjob never listedbuild-condaas 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.yamlfile still excludes the now-deletedconda/recipes/numba-cuda/meta.yamlfile fromcheck-yamlvalidation. This is a harmless but unnecessary exclusion that should be cleaned up. - The
ci/upload_conda.shscript is now orphaned (it was only referenced in the deletedconda-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 |
Additional Comments (1)
|
There was a problem hiding this 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 packagesci/build_conda.sh- Shell script for building conda packagesconda/recipes/numba-cuda/meta.yaml- Conda package recipe/metadata
Workflow Changes:
.github/workflows/ci-new.yaml: Removed thebuild-condajob (lines 209-216).github/workflows/publish.yaml: Removed thebuild-condajob 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. |
Additional Comments (1)
|
86d3096 to
9bd2203
Compare
|
/ok to test |
There was a problem hiding this 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:
-
Deleted Files:
.github/workflows/conda-python-build.yaml- Workflow for building conda packagesci/build_conda.sh- Build script used by the conda build workflowconda/recipes/numba-cuda/meta.yaml- Conda recipe metadata
-
Modified Workflow Files (removals):
.github/workflows/ci-new.yaml- Removedbuild-condajob that called the deleted workflow.github/workflows/publish.yaml- Removedbuild-condajob from the release pipeline
-
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.)
- Updated pixi version from v0.61.0 to v0.62.2 across multiple workflows for consistency:
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.) |
Additional Comments (1)
|
|
/ok to test |
There are plenty of other YAML files in the repo. This is incorrect, the line should be kept. |
|
/ok to test |
There was a problem hiding this 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) andpublish.yaml(releases) - Deleted conda recipe and build script: Removed
conda/recipes/numba-cuda/meta.yamlandci/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. |
Additional Comments (1)
|
|
This one can go first I think. |
- 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)
- 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)
Remove unnecessary conda build infrastructure.