Skip to content
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

use rapids-build-backend #1393

Merged
merged 7 commits into from
Jun 12, 2024

Conversation

jameslamb
Copy link
Member

Description

Contributes to rapidsai/build-planning#31
Contributes to rapidsai/dependency-file-generator#89

Proposes introducing rapids-build-backend as this project's build backend, to reduce the complexity of various CI/build scripts.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@jameslamb jameslamb added 2 - In Progress Currenty a work in progress improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Jun 5, 2024
@github-actions github-actions bot added conda Related to conda and conda configuration Python Related to Python code ci labels Jun 5, 2024
@jameslamb jameslamb mentioned this pull request Jun 6, 2024
@jameslamb jameslamb changed the title WIP: use rapids-build-backend use rapids-build-backend Jun 6, 2024
@jameslamb jameslamb added 3 - Ready for Review Ready for review by team and removed 2 - In Progress Currenty a work in progress labels Jun 6, 2024
@jameslamb
Copy link
Member Author

jameslamb commented Jun 6, 2024

It looks like the conda-python-tests jobs are failing here, like this:

FAILED tests/basicpreds/test_intersections.py::test_one_pair - AssertionError: Series Expected type <class 'pandas.core.series.Series'>, found <class 'pandas.core.indexes.base.Index'> instead
FAILED tests/basicpreds/test_intersections.py::test_two_pairs - AssertionError: Series Expected type <class 'pandas.core.series.Series'>, found <class 'pandas.core.indexes.base.Index'> instead
FAILED tests/basicpreds/test_intersections.py::test_one_pair_with_overlap - AssertionError: Series Expected type <class 'pandas.core.series.Series'>, found <class 'pandas.core.indexes.base.Index'> instead
FAILED tests/basicpreds/test_intersections.py::test_two_pairs_with_intersect_and_overlap - AssertionError: Series Expected type <class 'pandas.core.series.Series'>, found <class 'pandas.core.indexes.base.Index'> instead
FAILED tests/basicpreds/test_intersections.py::test_one_pair_multilinestring - AssertionError: Series Expected type <class 'pandas.core.series.Series'>, found <class 'pandas.core.indexes.base.Index'> instead
FAILED tests/basicpreds/test_intersections.py::test_three_pairs_identical_has_ring - AssertionError: Series Expected type <class 'pandas.core.series.Series'>, found <class 'pandas.core.indexes.base.Index'> instead
FAILED tests/basicpreds/test_intersections.py::test_three_pairs_identical_no_ring - AssertionError: Series Expected type <class 'pandas.core.series.Series'>, found <class 'pandas.core.indexes.base.Index'> instead

(build link)

I see the same failures on #1384 (build link), so fairly confident that they're not related to the changes here.

@jameslamb jameslamb marked this pull request as ready for review June 6, 2024 22:02
@jameslamb jameslamb requested review from a team as code owners June 6, 2024 22:02
@jameslamb jameslamb requested review from trxcllnt and isVoid June 6, 2024 22:02
@@ -361,7 +383,7 @@ dependencies:
common:
- output_types: conda
packages:
- &rmm_conda rmm==24.8.*
- &rmm_conda rmm==24.8.*,>=0.0.0a0
Copy link
Contributor

Choose a reason for hiding this comment

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

What does this 0.0.0a0 mean?

Copy link
Member Author

@jameslamb jameslamb Jun 7, 2024

Choose a reason for hiding this comment

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

short answer

For conda, it's identical to just ==24.8.*.

For pip it means "I'm willing to accept any pre-releases of this package as well".

long answer

A version number like that is called a "pre-release".

Those are the version numbers we give to nightly RAPIDS packages.

By default, when you run pip install cuml-cu12==24.8.*, such versions will be ignored. That's so package authors can publish packages like release candidates for testing.

One option to tell pip you're open to installing such packages is to pass the --pre flag to pip install, like this:

pip install --pre 'cuml-cu12==24.8.*`

But that can have unintended consequences... --pre applies through the entire dependency tree, so running a command like that would also mean you're saying "I'm willing to pull in any pre-releases of any of cuml-cu12's dependencies as well".

Specifying a constraint like ,>=0.0.0a0 like this is a bit stricter... it tells pip "I'm willing to pull in any pre-releases of cuml-cu12 specifically, but not necessarily its dependencies".

pip install 'cuml-cu12==24.8.*,>=0.0.0a0'

There's some more discussion on this in https://peps.python.org/pep-0440/#handling-of-pre-releases

Copy link
Contributor

Choose a reason for hiding this comment

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

We should probably update https://github.com/rapidsai/build-planning/blob/main/docs/docs/packaging.md#nightlies (and then use it as a reference).

Copy link
Member Author

Choose a reason for hiding this comment

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

You're totally right, I keep forgetting about those docs. I'll put up a PR there.

@jameslamb jameslamb requested review from isVoid and bdice June 7, 2024 19:45
@jameslamb jameslamb requested review from a team as code owners June 10, 2024 14:04
Copy link
Contributor

@bdice bdice left a comment

Choose a reason for hiding this comment

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

Thanks!

@jameslamb jameslamb removed the request for review from a team June 10, 2024 16:12
@jameslamb jameslamb removed the 3 - Ready for Review Ready for review by team label Jun 12, 2024
@jameslamb
Copy link
Member Author

/merge

@rapids-bot rapids-bot bot merged commit bc2ca80 into rapidsai:branch-24.08 Jun 12, 2024
69 checks passed
@jameslamb jameslamb deleted the rapids-build-backend branch June 12, 2024 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci conda Related to conda and conda configuration improvement Improvement / enhancement to an existing function non-breaking Non-breaking change Python Related to Python code
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

None yet

4 participants