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

update pre-commit hook versions, mark wheels as pure python #205

Merged
merged 4 commits into from
Sep 24, 2024

Conversation

jameslamb
Copy link
Member

@jameslamb jameslamb commented Sep 18, 2024

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.

@jameslamb jameslamb changed the title WIP: update pre-commit hook versions update pre-commit hook versions Sep 19, 2024
@@ -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
Copy link
Member Author

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_filters 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

(build link)

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.

@jameslamb jameslamb changed the title update pre-commit hook versions update pre-commit hook versions, mark wheels as pure python Sep 19, 2024
@jameslamb jameslamb marked this pull request as ready for review September 19, 2024 22:23
Copy link
Member

@AjayThorve AjayThorve left a 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!

@AjayThorve AjayThorve merged commit cbef6a8 into rapidsai:branch-0.12 Sep 24, 2024
11 checks passed
@jameslamb jameslamb deleted the misc/updates branch September 24, 2024 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants