From 9cd23a8da0d78dadf1f4418dc8a467ec20a18875 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 13 Nov 2024 10:45:23 -0600 Subject: [PATCH] enforce wheel size limits, README formatting in CI --- ci/build_wheel.sh | 2 ++ ci/validate_wheel.sh | 18 ++++++++++++++++++ pyproject.toml | 8 ++++++++ 3 files changed, 28 insertions(+) create mode 100755 ci/validate_wheel.sh diff --git a/ci/build_wheel.sh b/ci/build_wheel.sh index 4f8ec80..9821156 100755 --- a/ci/build_wheel.sh +++ b/ci/build_wheel.sh @@ -21,5 +21,7 @@ sccache --show-adv-stats # Exclude libcuda.so.1 because we only install a driver stub python -m auditwheel repair --exclude libcuda.so.1 -w ./final_dist ./dist/* +./ci/validate_wheel.sh final_dist + rapids-logger "Upload Wheel" RAPIDS_PY_WHEEL_NAME="pynvjitlink_${RAPIDS_PY_CUDA_SUFFIX}" rapids-upload-wheels-to-s3 python ./final_dist diff --git a/ci/validate_wheel.sh b/ci/validate_wheel.sh new file mode 100755 index 0000000..60a80fc --- /dev/null +++ b/ci/validate_wheel.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Copyright (c) 2024, NVIDIA CORPORATION. + +set -euo pipefail + +wheel_dir_relative_path=$1 + +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)" diff --git a/pyproject.toml b/pyproject.toml index cb80661..eb06a2b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,5 +56,13 @@ provider = "scikit_build_core.metadata.regex" input = "pynvjitlink/VERSION" regex = "(?P.*)" +[tool.pydistcheck] +select = [ + "distro-too-large-compressed", +] + +# PyPI limit is 100 MiB, fail CI before we get too close to that +max_allowed_size_compressed = '75M' + [tool.pytest.ini_options] xfail_strict = true