Skip to content

Releases: hynek/build-and-inspect-python-package

v2.9.0

09 Sep 06:09
v2.9.0
73aea39
Compare
Choose a tag to compare

Changed

  • uv build is now used instead of the build package. Since the actual build of the packages is done by the packaging backend (the one you define in your pyproject.toml under build-system.build-backend -- for example, Setuptools or Hatchling), this should make no difference except for faster runs. #140

v2.8.0

25 Jul 05:01
v2.8.0
2dbbf2b
Compare
Choose a tag to compare

Changed

  • We now use uv's new uv cache prune --ci to only cache downloaded files. This makes the cache smaller and faster to pack/unpack. #135

Fixed

  • Turns out, the default location of uv's cache cannot be cached and actions/cache fails silently with an opaque "Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved." log message. We have moved the cache to /tmp. #135

v2.7.0

17 Jul 12:46
v2.7.0
7880597
Compare
Choose a tag to compare

Added

  • A header before package contents in the summary. Especially useful together with a preceding build provenance attestation. #131

v2.6.0

26 May 19:39
v2.6.0
b4fc3f6
Compare
Choose a tag to compare

Added

  • Support for ubuntu-24.04 builders. #126

  • New output: artifact-name is the name of the uploaded artifact. #125

v2.5.0

13 May 15:57
v2.5.0
4aea7de
Compare
Choose a tag to compare

Added

  • New input: attest-build-provenance-github generates signed build provenance attestations for workflow artifacts.
    #122

v2.4.0

11 Apr 21:07
v2.4.0
eb6b0c7
Compare
Choose a tag to compare

Changed

  • The action doesn't crash anymore if the user sets globally the UV_SYSTEM_PYTHON environment variable. #116

v2.3.0

11 Apr 17:25
v2.3.0
832048d
Compare
Choose a tag to compare

Added

  • Cache busting for the uv cache. GitHub Actions's caching behavior is a bit idiosyncratic: Once a cache is created, it's immutable. But as long as it's accessed within 7 days, it never goes away.

    Therefore, baipp now uses the hash of the requirements file as part of the cache key. Behaviorally, nothing changes, except that the cache doesn't grow useless over time. #115

v2.2.1

02 Apr 04:27
v2.2.1
f51d0e7
Compare
Choose a tag to compare

Fixed

  • The action uses wheel to unpack wheels again (this is a revert of #103) due to incompatibilities with, for example, pytest. To avoid the confusion due to wrong timestamps, the wheel's tree output in the Summary has no timestamps anymore. #114

v2.2.0

31 Mar 08:48
v2.2.0
7e1c25e
Compare
Choose a tag to compare

Changed

  • Use uv as installer command for build for further speedups. #107

v2.1.0

27 Mar 10:59
v2.1.0
e7acf29
Compare
Choose a tag to compare

Highlight

This is a very exciting release with two very exciting stand-out features:

  1. The action now uses uv to install its tools which made it much faster.

  2. The new supported_python_classifiers_json_array and supported_python_classifiers_json_job_matrix_value outputs allow you to use support Python classifiers from your package's metadata directly to build the CI matrix.

    One place fewer to update when adding support for a new Python version (or removing for one, for that matter) and this is how this feature looks in real life: https://github.com/hynek/structlog/pull/608/files

Full Changelog

Added

  • New outputs: supported_python_classifiers_json_array and supported_python_classifiers_json_job_matrix_value.

    They are extracted from the trove classifiers defined in the package metadata (for example, Programming Language :: Python :: 3.12) and allow you to define the Python versions matrix for your CI jobs without duplicating this information. #80 #102

  • New input: skip-wheel to skip building the wheel in addition to the source distribution. This is useful if you need to build your wheels using advanced tools like cibuildwheel anyway. #98

  • New input: upload-name-suffix allows to build more than one package in a single workflow by distinguishing the artifact names. #97

Changed

  • The action now uses uv to install its tools to speed up your CI runs. #86

  • We now use unzip to extract wheels, which preserves timestamps in the "Wheel contents" summary. #103