Skip to content

Make source distributions reproduce the full test suite - #572

Merged
iskandr merged 1 commit into
mainfrom
fix/509-complete-source-distribution
Oct 2, 2026
Merged

iskandr merged 1 commit into
mainfrom
fix/509-complete-source-distribution

Conversation

@iskandr

@iskandr iskandr commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

The source archive shipped test modules without their helpers or fixtures, so consumers could not reproduce the suite from the published artifact. Include the complete test package and bounded data tree, together with the docs, executable examples, scripts and configuration the tests read. Runtime wheel contents stay unchanged apart from the version.

Add a reviewed SHA256 inventory and fixture provenance notes. All 38 pre-existing data/provenance files retain their exact bytes; the larger RNA bundle and reference datasets remain external through the documented setup. A regression builds an sdist and checks that all test support files are present and unchanged. CI now installs and runs the full suite and parity checks from the unpacked archive outside the checkout, on Python 3.9/3.10/3.11.

Validation:

  • The archive regression fails with the old manifest's missing-file list and passes with this fix; fixture checksums pass.
  • ./lint.sh, ./test.sh (3,195 passed) and mkdocs build --strict pass.
  • Both real artifacts pass twine check --strict; the sdist is approximately 4.4 MB and the wheel contains only runtime files and package metadata.
  • A fresh environment installed the unpacked source archive with test dependencies, passed lint, and ran the complete suite from that archive: 3,195 passed, with no Git checkout present.

Version 10.11.4. Closes #509. Missing upstream acquisition records for some legacy fixtures are documented honestly and tracked separately in #571; this PR preserves their bytes and does not change scientific expectations.

Published 10.11.4 from merged commit 57447d08b91ae26c5771ed4355e4c23d17dd270c; the pushed v10.11.4 tag targets that commit. Deployment reran all 3,195 tests successfully. Downloaded both public artifacts and matched their SHA256 hashes against the original release files:

  • Wheel: 2573b8fc3a91a9008fc89f70c27ca356377424394a2ff980318071c5ac5ff8e2
  • Source distribution: 7a20c372f3471fa0665e34f8641960596c71e9e56ee9d6df526a1ac258dd7f34

Installed the downloaded wheel in the isolated environment and unpacked the public source tarball outside any checkout: 138 tests passed covering archive contents, fixture hashes, VCF/MAF/spec/caller fixtures, the bundled Osteosarc snapshot, and executable documentation.

Post-merge verification: archive-based Python matrix, documentation deployment.

@iskandr
iskandr merged commit 57447d0 into main Oct 2, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Source distribution ships test modules without required fixtures and helpers

1 participant