All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- New output:
package_version
is the version of the package that was built. #152
- Remove
.gitignore
from the build target directory to avoid silly attestations. #149
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 yourpyproject.toml
underbuild-system.build-backend
-- for example, Setuptools or Hatchling), this should make no difference except for faster runs. #140
2.8.0 - 2024-07-25
- Use uv's new
uv cache prune --ci
to only cache downloaded files. This makes the cache smaller and faster to pack/unpack. #135
- 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
2.7.0 - 2024-07-17
- A header before package contents in the summary. Especially useful together with a preceding build provenance attestation. #131
2.6.0 - 2024-05-26
-
Support for
ubuntu-24.04
builders. #126 -
New output:
artifact-name
is the name of the uploaded artifact. #125
2.5.0 - 2024-05-13
- New input:
attest-build-provenance-github
generates signed build provenance attestations for workflow artifacts. #122
2.4.0 - 2024-04-11
- The action doesn't crash anymore if the user sets globally the
UV_SYSTEM_PYTHON
environment variable. #116
2.3.0 - 2024-04-11
-
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
2.2.1 - 2024-04-02
- 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
2.2.0 - 2024-03-31
- Use uv as installer command for build for further speedups. #107
2.1.0 - 2024-03-27
-
New outputs:
supported_python_classifiers_json_array
andsupported_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
-
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
2.0.2 – 2024-03-16
- Dependency updates for Metadata-Version 2.3 support (as used, for example, by Hatchling 1.22.1).
2.0.1 - 2024-01-25
- Switched to
setup-python@v5
to avoid the "Node.js 16 actions are deprecated." deprecation warning.
2.0.0 - 2023-12-15
- Switched to using v4 of
actions/upload-artifact
. This version is incompatible with older versions ofactions/download-artifact
-- hence the major version bump. See also GitHub's announcement. #78
1.5.4 - 2023-11-01
- Stop trying to cache.
Fixes
Error: No file in /home/runner/work/pytest-cpp/pytest-cpp matched to [**/requirements.txt or **/pyproject.toml], make sure you have checked out the target repository
#76
1.5.3 - 2023-10-27
- Hopefully nothing, but this release comes from the main branch again.
1.5.2 - 2023-10-27
- Turns out it made a huge difference. This release is branched directly from v1.5 and only updates the dependencies.
1.5.1 - 2023-10-27
-
Updates of the tools we use. Notably this fixes check-wheel-contents on Python 3.12.
-
This shouldn't make any difference, but all management and command running is now done by PDM. #57
1.5.0 - 2023-02-09
- Set
SOURCE_DATE_EPOCH
based on the timestamp of the last commit for build reproducibility. #30 - The tree output now has ISO timestamps.
- Use
3.x
version specifier insetup-python
for the venv used by our tools. As of writing, that's 3.11.
1.4.1 - 2022-10-13
- Doesn't raise a deprecation warning re:
set-output
anymore.
1.4 - 2022-10-13
- The contents listing of the SDist, the contents listing of the wheel, and the package metadata are now conveniently added to the CI run summary. So, you don't have to click through the build logs or download anything to give it a quick glimpse. #17
- The Python environment that is used by us is better isolated. #18
1.3 - 2022-08-24
- Package metadata is now printed and uploaded as an artifact. #11
- The PyPI README, that is a project's PyPI landing page, is now uploaded as an artifact. #11
1.2 - 2022-08-21
- The location of the built packages is now returned using the
dist
output. #9
1.1 - 2022-08-20
- Built packages are written to
/tmp
instead of into the sourcedist/
directory. That means that this action leaves your directory clean. #7
1.0 - 2022-08-20
- twine now runs in
--strict
mode. - All tools are now pinned reliability (and hopefully caching in the future).
- The action now uses
setup-python
itself to enable pinning (and hopefully caching in the future). Currently, Python 3.10 is used. - The tools are installed into a virtual environment. That means you can re-use the global Python environment and do further checks.
0.1 - 2022-08-20
- Initial Release