-
Notifications
You must be signed in to change notification settings - Fork 930
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
Port all conda recipes to rattler-build
#18054
base: branch-25.04
Are you sure you want to change the base?
Conversation
rattler-build
62b6a58
to
69f7b7e
Compare
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.
Initial comments attached. Please also see my review on UCXX and apply any relevant requests from that PR to this one, too.
ci/build_python.sh
Outdated
--channel-priority disabled \ | ||
--output-dir "$RAPIDS_CONDA_BLD_OUTPUT_DIR" \ | ||
--test skip \ | ||
-c "${CPP_CHANNEL}" \ |
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.
We prefer long flags for verbosity wherever possible. Please apply this throughout.
-c "${CPP_CHANNEL}" \ | |
--channel "${CPP_CHANNEL}" \ |
run: | ||
- python | ||
- pylibcudf =${{ version }} | ||
- polars >=1.20,<1.23 |
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.
Make sure this pinning is up to date before merging. These values change frequently.
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.
This is being updated in #18076. Bump it if that merges before this PR.
Computers are the absolute worst. Despite
|
Ok, wrapping in quotation marks works. It's very strange that this happens in only some repos, but I'll add "wrap these in strings all the time" to the rattler playbook |
88d20a4
to
1c05304
Compare
.github/workflows/pr.yaml
Outdated
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.
Reminder to revert this before merging.
conda/recipes/cudf/recipe.yaml
Outdated
- numba-cuda >=0.2.0,<0.3.0a0 | ||
- numba >=0.59.1,<0.61.0a0 | ||
- numpy >=1.23,<3.0a0 |
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.
#18078 will bump these. Check that PR's status before merging.
conda/recipes/cudf/recipe.yaml
Outdated
- pylibcudf =${{ version }} | ||
- ${{ pin_compatible("rmm", upper_bound="x.x") }} | ||
- fsspec >=0.6.0 | ||
- if: cuda_major == "11" |
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.
- if: cuda_major == "11" | |
- if: cuda_major == "11" |
- python: | ||
imports: | ||
- dask_cudf | ||
pip_check: false |
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.
Let's circle back to this later. I want to pass pip_check
if possible.
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.
This is rapidsai/build-planning#151 JYFI.
conda/recipes/libcudf/recipe.yaml
Outdated
- cudf_ROOT="$(realpath ./cpp/build)" | ||
- export cudf_ROOT | ||
- > | ||
./build.sh -n -v \ | ||
libcudf libcudf_kafka benchmarks tests \ | ||
--build_metrics --incl_cache_stats --allgpuarch \ | ||
--cmake-args=\"-DCMAKE_INSTALL_LIBDIR=lib -DCUDF_ENABLE_ARROW_S3=ON\" |
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.
Maybe use a single content: |
block as suggested for ucxx.
conda/recipes/libcudf/recipe.yaml
Outdated
- cmake ${{ cmake_version }} | ||
- ${{ compiler("c") }} | ||
- ${{ compiler("cxx") }} | ||
- ${{ compiler("cuda") }} =${{ cuda_version }} |
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.
- ${{ compiler("cuda") }} =${{ cuda_version }} | |
- ${{ compiler("cuda") }} |
conda/recipes/libcudf/recipe.yaml
Outdated
- if: cuda_major != "11" | ||
then: | ||
- cuda-nvtx-dev |
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.
I can't remember why we have a -dev
package in run:
here. 🤔 I think there is a reason but it escapes me. If we have extra cycles later, let's come back to this.
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.
I think it's a typo (by me) -- the original conda-build recipe just has conda-nvtx
in there.
conda/recipes/pylibcudf/recipe.yaml
Outdated
- packaging | ||
ignore_run_exports: | ||
from_package: | ||
- if: not (cuda_major == "11") |
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.
Seems like we've had this working elsewhere:
- if: not (cuda_major == "11") | |
- if: cuda_major != "11" |
/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.
I have only a few leftover comments. However, I think we should merge this soon and work out the remaining items in a follow-up PR wherever we can. Getting this in will help us see any problems, and it'll help with reducing merge conflicts with other work that is going on.
conda/recipes/cudf/recipe.yaml
Outdated
content: | ||
- ./build.sh cudf |
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.
Do we want to make changes like this across all the recipes?
content: | |
- ./build.sh cudf | |
content: ./build.sh cudf |
or
content: | |
- ./build.sh cudf | |
content: | | |
./build.sh cudf |
conda/recipes/libcudf/recipe.yaml
Outdated
./build.sh -n -v \ | ||
libcudf libcudf_kafka benchmarks tests \ | ||
--build_metrics --incl_cache_stats --allgpuarch \ | ||
--cmake-args=\"-DCMAKE_INSTALL_LIBDIR=lib -DCUDF_ENABLE_ARROW_S3=ON\" |
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.
I wonder if -DCMAKE_INSTALL_LIBDIR=lib
is still necessary. I think that maybe we needed that because rapids-cmake wasn't always conda-aware, and we were getting lib64
instead of lib
. I'd like to check the package contents and see if they change if this flag is removed (and see if tests pass).
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.
removed the libdir arg, we'll see what happens
- package: | ||
name: libcudf-example | ||
version: ${{ version }} | ||
build: |
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.
How'd we get away without an env:
section here? In rapidsai/rmm#1800 it seemed like I needed one...
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.
blind luck, I wager
3c6573e
to
ac2429e
Compare
/ok to test |
bec4719
to
e27c1f3
Compare
Is there a minimal "expected" behavior here that we could capture and write up in a rattler issue? |
I think it might be: Given that shells have horrendously inconsistent behavior around types, make everything a string unless someone explicitly calls |
That seems sensible. Want to write that up as a rattler-build issue? |
will do |
rattler-build issue for context types: prefix-dev/rattler-build#1451 |
06bb8b0
to
8a6e1c4
Compare
@@ -20,6 +20,15 @@ cache: | |||
build: | |||
script: | |||
content: | | |||
|
|||
# Remove `-fdebug-prefix-map` line from CFLAGS and CXXFLAGS so the |
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.
What adds these flags?
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.
both conda-build
and rattler-build
add them in this file in the build environment:
/etc/conda/activate.d/activate-gxx_linux-64.sh
There's a line in there like -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION}
but conda-build
uses the recipe name and leaves $PKG_VERSION
unset, so it doesn't bust the cache.
upstream issue opened to fix this: prefix-dev/rattler-build#1458
but it might take a bit of time to get a fix so adding the workaround here to get us unblocked.
@@ -0,0 +1,127 @@ | |||
# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json |
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.
If you want, then this line can be ommitted as recipe.yaml
is in the schema store now.
Description
Port all condabuild recipes over to use
rattler-build
instead.Contributes to rapidsai/build-planning#47
rattler
, this changes all the licenses in thepyproject.toml
files to the SPDX-compliantApache-2.0
instead ofApache 2.0
Checklist