delb-py icon indicating copy to clipboard operation
delb-py copied to clipboard

Continuous Integration Optimization

Open funkyfuture opened this issue 1 year ago • 3 comments

okay, so here's changes for the CI:

  • tests run against installed wheel, not an editable install
  • also the source distribution is build and validated as the wheel
  • the declared trove classifiers drive the interpreter selection to run tests against
  • tag pushes trigger a workflow that uploads the packages directly(?) to the PyPI

however due to the change of package installation (actually the non-presence of the pure source) the coverage count reports less which leads to a fail of the expected goal. all of these possible solutions i don't like:

  • decrease the expectation; as local runs are more likely to re-define the expectation
  • increasing test coverage; inefficient now. if this just happens now it's okay, but it will be an actual matter before optimizations are seeked way later in the project
  • adding a test based on the source distribution; that'd suggest to use the test files from that dist as well, but that then creates the requirement to test that the source dist is complete, doable, but i don't imagine this to be more of a nag than practical
  • define two different goals; just no

funkyfuture avatar Sep 24 '24 19:09 funkyfuture

why test against installed wheel instead of source tree tho...?

JKatzwinkel avatar Sep 29 '24 12:09 JKatzwinkel

packages are what most users will install.

adding a test based on the source distribution

i think that's what should be done in order to test both distribution formats. and one can compare the contained test suite against one from a vcs checkout.

funkyfuture avatar Sep 29 '24 15:09 funkyfuture

i overcame my fear that the source distribution might be missing contents.

the testing against wheels against various interpreter/language versions is now considered as a compatibility test.

funkyfuture avatar Oct 04 '24 13:10 funkyfuture