-
Notifications
You must be signed in to change notification settings - Fork 468
chore(build): remove source files from wheel RECORD #14279
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
Conversation
|
|
c9439ac to
03b4504
Compare
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 269 ± 3 ms. The average import time from base is: 273 ± 3 ms. The import time difference between this PR and base is: -3.3 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsCandidate: LANGPLAT-728/fix.wheel.record (09d7366) 🔵 No Baseline Data (24 suites)🔵 coreapiscenario - 12/12 (2 unstable)🔵 No baseline data available for this suite
|
89e4767 to
50bc6ba
Compare
## Problem PyPI has issued a deprecation warning for our `ddtrace` package wheels. The wheel RECORD files list source files (`.c`, `.cpp`, `.h`, `.pyx`, etc.) that were removed during post-processing but the RECORD wasn't updated to reflect this. This mismatch between RECORD contents and actual wheel contents will become a hard error in future PyPI releases. ## Solution We've updated our wheel build pipeline to ensure RECORD file integrity: 1. **Enhanced `zip_filter.py`** - Our existing script for removing source files from wheels now also updates the RECORD file to maintain consistency between listed and actual contents. 2. **Unified build approach** - All platforms (Linux, macOS, Windows) now use the same `zip_filter.py` script for consistent source file removal and RECORD updating. 3. **Automated validation** - Added a new validation script and CI step that verifies every built wheel has a RECORD file that accurately reflects its contents, including proper SHA256 hashesand file sizes. This ensures our wheels comply with PyPI requirements while maintaining the same distribution content - compiled extensions without source files, but with accurate metadata. ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [ ] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
## Problem PyPI has issued a deprecation warning for our `ddtrace` package wheels. The wheel RECORD files list source files (`.c`, `.cpp`, `.h`, `.pyx`, etc.) that were removed during post-processing but the RECORD wasn't updated to reflect this. This mismatch between RECORD contents and actual wheel contents will become a hard error in future PyPI releases. ## Solution We've updated our wheel build pipeline to ensure RECORD file integrity: 1. **Enhanced `zip_filter.py`** - Our existing script for removing source files from wheels now also updates the RECORD file to maintain consistency between listed and actual contents. 2. **Unified build approach** - All platforms (Linux, macOS, Windows) now use the same `zip_filter.py` script for consistent source file removal and RECORD updating. 3. **Automated validation** - Added a new validation script and CI step that verifies every built wheel has a RECORD file that accurately reflects its contents, including proper SHA256 hashesand file sizes. This ensures our wheels comply with PyPI requirements while maintaining the same distribution content - compiled extensions without source files, but with accurate metadata. ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [ ] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
## Problem PyPI has issued a deprecation warning for our `ddtrace` package wheels. The wheel RECORD files list source files (`.c`, `.cpp`, `.h`, `.pyx`, etc.) that were removed during post-processing but the RECORD wasn't updated to reflect this. This mismatch between RECORD contents and actual wheel contents will become a hard error in future PyPI releases. ## Solution We've updated our wheel build pipeline to ensure RECORD file integrity: 1. **Enhanced `zip_filter.py`** - Our existing script for removing source files from wheels now also updates the RECORD file to maintain consistency between listed and actual contents. 2. **Unified build approach** - All platforms (Linux, macOS, Windows) now use the same `zip_filter.py` script for consistent source file removal and RECORD updating. 3. **Automated validation** - Added a new validation script and CI step that verifies every built wheel has a RECORD file that accurately reflects its contents, including proper SHA256 hashesand file sizes. This ensures our wheels comply with PyPI requirements while maintaining the same distribution content - compiled extensions without source files, but with accurate metadata. ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [ ] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
## Problem PyPI has issued a deprecation warning for our `ddtrace` package wheels. The wheel RECORD files list source files (`.c`, `.cpp`, `.h`, `.pyx`, etc.) that were removed during post-processing but the RECORD wasn't updated to reflect this. This mismatch between RECORD contents and actual wheel contents will become a hard error in future PyPI releases. ## Solution We've updated our wheel build pipeline to ensure RECORD file integrity: 1. **Enhanced `zip_filter.py`** - Our existing script for removing source files from wheels now also updates the RECORD file to maintain consistency between listed and actual contents. 2. **Unified build approach** - All platforms (Linux, macOS, Windows) now use the same `zip_filter.py` script for consistent source file removal and RECORD updating. 3. **Automated validation** - Added a new validation script and CI step that verifies every built wheel has a RECORD file that accurately reflects its contents, including proper SHA256 hashesand file sizes. This ensures our wheels comply with PyPI requirements while maintaining the same distribution content - compiled extensions without source files, but with accurate metadata. ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [ ] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
Problem
PyPI has issued a deprecation warning for our
ddtracepackage wheels. The wheel RECORD files list source files (.c,.cpp,.h,.pyx, etc.) that were removed during post-processing but the RECORD wasn't updated to reflect this. This mismatch between RECORD contents and actual wheel contents will become a hard error in future PyPI releases.Solution
We've updated our wheel build pipeline to ensure RECORD file integrity:
Enhanced
zip_filter.py- Our existing script for removing source files from wheels now also updates the RECORD file to maintain consistency between listed and actual contents.Unified build approach - All platforms (Linux, macOS, Windows) now use the same
zip_filter.pyscript for consistent source file removal and RECORD updating.Automated validation - Added a new validation script and CI step that verifies every built wheel has a RECORD file that accurately reflects its contents, including proper SHA256 hashesand file sizes.
This ensures our wheels comply with PyPI requirements while maintaining the same distribution content - compiled extensions without source files, but with accurate metadata.
Checklist
Reviewer Checklist