-
Notifications
You must be signed in to change notification settings - Fork 78
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
update pre-commit hook versions, mark wheels as pure python #205
Conversation
@@ -40,4 +40,4 @@ python -m build -s -w | |||
|
|||
rapids-logger "Uploading JupyterLab NVDashboard wheels to S3" | |||
# Upload Python wheels to S3 | |||
RAPIDS_PY_WHEEL_NAME="${package_name}" rapids-upload-wheels-to-s3 dist | |||
RAPIDS_PY_WHEEL_NAME="${package_name}" RAPIDS_PY_WHEEL_PURE="1" rapids-upload-wheels-to-s3 dist |
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.
Wheels for jupyterlab-nvdashboard
are pure python, with names like this when published:
jupyterlab_nvdashboard-0.10.0-py3-none-any.whl
jupyterlab_nvdashboard-0.11.0-py3-none-any.whl
(https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/jupyterlab-nvdashboard/)
So, for example, it's totally fine to build a wheel on x86_64 with Python 3.10 and run it on arm64 with Python 3.12.
However, CI here has been uploading artifacts to S3 with Python-version-specific names, like this:
jupyterlab-nvdashboard_wheel_python_jupyterlab-nvdashboard_py312_x86_64.tar.gz
(https://downloads.rapids.ai/ci/jupyterlab-nvdashboard/pull-request/205/976585f/)
That means when this project uses a matrix_filter
s in GitHub Actions to limit to only running one build and one test job, it's necessary for their Python and CUDA versions to exactly match. When that doesn't happen, you'll get errors like this one that I saw:
download failed: s3://rapids-downloads/ci/jupyterlab-nvdashboard/pull-request/205/0de97c7/jupyterlab-nvdashboard_wheel_python_jupyterlab-nvdashboard_py310_x86_64.tar.gz to - An error occurred (404) when calling the HeadObject operation: Not Found
This proposes setting RAPIDS_PY_WHEEL_PURE=1
to produce artifact names like this:
jupyterlab-nvdashboard_wheel_python_jupyterlab-nvdashboard.tar.gz
That way, CI here won't be broken by future shared-workflows
matrix changes.
Why wasn't this a problem before?
This repo was getting lucky with its matrix filters. The matrix changed in rapidsai/shared-workflows#213 in a way that breaks CI 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.
Thank you so much!
We recently observed some issues with Python 3.12 + older
flake8
versions across RAPIDS: rapidsai/build-planning#101.This proposes updating all the pre-commit hooks in this repo (
pre-commit autoupdate
) to avoid such issues the next time someone comes to push new commits here.While doing this, I also discovered that wheel CI here was broken by rapidsai/shared-workflows#213 (see #205 (comment)). This fixes that as well.