-
Notifications
You must be signed in to change notification settings - Fork 4
Align conda and wheel building workflows #44
Copy link
Copy link
Open
0 / 20 of 2 issues completedDescription
Historically our conda and wheel GHA workflow scripts have looked fairly different for a number of reasons. However, with #33 many of the fundamental distinctions will no longer exist because wheels will also have separate build steps for C++ and Python builds. As a result, we should invest in aligning our workflows as much as possible so as to reduce maintenance costs going forward. Some changes that we ought to make:
- We should parallelize test jobs across different Python packages. Wheels generally already do this, while all conda tests typically occur within a single job (in some repos there is a partial split, usually based on criteria specific to each repo e.g. cuml dask tests or cudf tests that aren't part of the cudf package).
- We should standardize handling of pure Python packages. Wheels already do this, while conda packages do not. See Properly support building pure Python packages #43 for a more detailed writeup.
- We should automatically append the CUDA version to the artifacts produced by the gha-tools for uploading packages. We already do this for conda, but not for wheels. As part of Support dynamic linking between RAPIDS wheels #33 we will be rearchitecting the wheel pipelines to have one job for building the C++ wheel and one for all the Python wheels, matching the conda packages more closely (this becomes feasible after Support dynamic linking between RAPIDS wheels #33 because the Python builds will be very fast if they don't have to rebuild the C++). Once that is the case, we can also upload/download all the wheels in the same manner that we do for conda packages (a single tarball for all wheels instead of one per wheel), so we can get rid of support for
RAPIDS_PY_WHEEL_NAME. In the PRs for Support dynamic linking between RAPIDS wheels #33 we're currently abusingRAPIDS_PY_WHEEL_NAMEto handle the CUDA version, so we need to start adding it for wheels before we can get rid of that variable.- tracked in consolidate wheel-building CI jobs #250
-
rapids-download-conda-from-s3automates choosing the output directory, whilerapids-download-wheels-from-s3requires that the caller specify it. We should update the wheel tool to automate that too. - Update conda jobs to include conda in the name. Currently wheels jobs are e.g.
build_wheel_*, whereas conda is justbuild_cpp.shetc. That is an artifact of a time when conda was our only produced artifact.- tracked in Standardize CI scripts and names #249
- The
rapids-wheels-anacondatool will need to be modified to support upload of cpp wheels. - We should standardize the names of the CI jobs across repos, conda/wheel build types, and pr.yaml/build.yaml/test.yaml. See also add wheel output kvikio#369
- tracked in Standardize CI scripts and names #249
I will update this list as more ideas come to mind.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels