-
Notifications
You must be signed in to change notification settings - Fork 16
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
enforce wheel size limits, README formatting in CI #114
Closed
Closed
Changes from 5 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
9cd23a8
enforce wheel size limits, README formatting in CI
jameslamb 5e02543
update to RAPIDS 24.12 actions
jameslamb 51312fe
revert GitHub Actions changes
jameslamb ebd65dc
try just installing dependencies at test time
jameslamb f9adf8e
oh pyenv
jameslamb 3475d82
try building in newer images
jameslamb 3858694
add cuda-version=12.5 to dependencies.yaml
jameslamb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#!/bin/bash | ||
# Copyright (c) 2024, NVIDIA CORPORATION. | ||
|
||
set -euo pipefail | ||
|
||
wheel_dir_relative_path=$1 | ||
|
||
python -m pip install \ | ||
'pydistcheck==0.8.*' \ | ||
twine | ||
|
||
pyenv rehash | ||
|
||
rapids-logger "validate packages with 'pydistcheck'" | ||
|
||
pydistcheck \ | ||
--inspect \ | ||
"$(echo ${wheel_dir_relative_path}/*.whl)" | ||
|
||
rapids-logger "validate packages with 'twine'" | ||
|
||
twine check \ | ||
--strict \ | ||
"$(echo ${wheel_dir_relative_path}/*.whl)" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
At first, I was seeing CI failures like this in this PR:
(build link)
Think I see the root cause.
pydistcheck
is available from therapidsai/ci-wheel
Docker image: rapidsai/ci-imgs#205This project does all of its CUDA 12 builds using CUDA 12.0.1.
pynvjitlink/.github/actions/compute-matrix/action.yaml
Lines 18 to 25 in 666375a
And therefore ends up pulling
rapidsai/ci-wheel:cuda12.0.1-rockylinux8-py3.12
(build link).We stopped building CUDA 12.0.1
ci-wheel
images in rapidsai/ci-imgs#194... and so no new images with that tag was published withpydistcheck
in it. The latestrapidsai/ci-wheel:cuda12.0.1-rockylinux8-py3.12
was pushed about a month ago: https://hub.docker.com/r/rapidsai/ci-wheel/tags?name=cuda12.0.1-rockylinux8-py3.12Assuming
pynvjitlink
needs to keep building on CUDA 12.0.1 for compatibility reasons, options I see:pydistcheck
andtwine
at runtime of CI like thisFor the purpose of these validation checks, just installing it at runtime should be fine... they're small libraries with few dependencies, that are quick to install.
But having this repo's CI rely on pulling images that are no longer getting updated risks it missing out on other updates (like security patches to libraries in the base image), and on the need to do more special-casing of this repo to use other things newly installed in
ci-wheel
images.@bdice @KyleFromNVIDIA what do you think?
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’m not sure if it’s important for this repo to have size checks. The lowest friction thing is probably to update the CI image tags. I don’t think we’ll have issues from that, please give it a try.
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 helpful to have size checks for anything we're publishing to PyPI, even if we feel it's unlikely they'll grow much... they're cheap maintenance-wise, and help avoid surprises at release time.
PR to add back the 12.0.1 images: rapidsai/ci-imgs#206
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.
Oh. I meant we could use something newer than 12.0.1 in this repo, not add back the 12.0.1 images.
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.
ohhhhhh I'm sorry, misunderstood what "update the CI image tags" meant! Sure, let me try that here.
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.
Alright I tried updating the matrix to "all builds on CUDA 12.5.1, tests on a mix of CUDA 12.0.1 and 12.5.1". Looks like the 2 test jobs on CUDA 12.5.1 are failing:
(build link)
@bdice could you help me with this? I'm not familiar with the compatibility story for this library, so not sure if failures like that are expected.
I hope we can get wheel size checks running here, but if this would take a lot of effort to debug and if you also want to avoid having a
pip install twine pydistcheck
on every wheel-building job (for reasons like rapidsai/shared-actions#22 (comment)), then I'd be fine with skipping this repo for the purpose of this release.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 don't think I have a good idea of where to start debugging that. @gmarkall may have to help. I think I would prefer to just skip this repository, I don't think we gain much from adding the size checks right now.
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.
Alright yeah let's skip it, this seems like a good place to cut scope in favor of all the other things we're trying to land in this release.
Let's close 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 put up an issue about it: #116
I still think it'd be good to return to at some point.