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

manage dependencies with rapids-dependency-file-generator #120

Merged
merged 6 commits into from
Jul 18, 2024

Conversation

jameslamb
Copy link
Member

Contributes to #115

When #115 is complete, this project will need access to some of the same dependency information in several different places:

  • setup.py / pyproject.toml (for wheel-building)
  • conda recipe
  • CI configurations

This proposes using rapids-dependency-file-generator to keep those sets of dependencies consistent across those locations, and to automate some of the work of updating them. We've found this to be really helpful across other RAPIDS projects.

For an example of this, see rapidsai/cugraph#4521. All the changes to pyproject.toml and conda env YAML files there were driven by just updating dependencies.yaml and running rapids-dependency-file-generator --clean.

Other changes proposed here:

  • adding a !=3.30.0 constraint on CMake
  • only running the other build/test steps after pre-commit passes
    • to ensure jobs here don't take time on a GPU runner when they're doomed to fail because of linting errors

Notes for Revieweris

In a future PR, I'll propose switching from a setup.py file to a pyproject.toml, and automatically updating that pyproject.toml via this rapids-dependency-file-generator mechanism. That way, constraints like legate-core=24.06.* won't need to be duplicated in multiple places.

@jameslamb jameslamb added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Jul 18, 2024
@jameslamb jameslamb requested review from RAMitchell and removed request for RAMitchell July 18, 2024 14:19
Copy link
Contributor

@RAMitchell RAMitchell left a comment

Choose a reason for hiding this comment

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

LGTM

@jameslamb
Copy link
Member Author

Oh hey thanks! I hadn't added you as a reviewer yet or taken this out of draft yet because it's not actually working. If I end up having to change anything substantial, I'll ask for another review.

@jameslamb jameslamb changed the title WIP: manage dependencies with rapids-dependency-file-generator manage dependencies with rapids-dependency-file-generator Jul 18, 2024
@jameslamb jameslamb marked this pull request as ready for review July 18, 2024 16:29
@jameslamb
Copy link
Member Author

The only change I had to make to get this working after you'd reviewed was switching from the pattern mamba env create && source activate to just mamba env update.

I think that should be non-controversial and low-risk, so I'm gonna merge this.

@jameslamb jameslamb merged commit 8fb75a1 into rapidsai:main Jul 18, 2024
3 checks passed
@jameslamb jameslamb deleted the dependencies-yaml branch July 18, 2024 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improves an existing functionality non-breaking Introduces a non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants