Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update to libcnb 0.21, Buildpack API 0.10 and switch from stacks to t…
…argets (#197) A `libcnb.rs` release supports a single Buildpack API version, so whenever we update to a libcnb release that now implements a newer Buildpack API version, we must switch to that version in the buildpack at the same time. This change updates the buildpack to the latest libcnb release, which requires both a switch to Buildpack API 0.10, a switch from stacks to targets, and also some adjustments for layer API changes. As part of the switch from stacks to targets, the buildpack now consumes the Python runtime from the new S3 location/filenames (that use distro name/version in the URL instead of stack ID), which were added in: heroku/heroku-buildpack-python#1567 The new archives also now use Zstandard (aka zstd) for compression instead of gzip, which results in a faster download due to the smaller archive size (for example, the Ubuntu 22.04 Python 3.12.3 AMD64 archive was 26% smaller) as well as faster decompression. This required switching from the `flate2` crate to the `zstd` crate. A side-effect of switching to the new S3 files is that the archives for Python 3.7 are no longer available, since I intentionally did not build them given that Python 3.7 is EOL. As such, this change also drops support for Python 3.7 (something that the classic buildpack has already done, and would have been done here already if it were not for being blocked on #8). The switch to targets unblocks Heroku-24/multi-architecture support, which will be handled in a later PR. See: https://github.com/heroku/libcnb.rs/blob/main/CHANGELOG.md#0210---2024-04-30 https://github.com/buildpacks/spec/releases/tag/buildpack%2Fv0.10 https://github.com/buildpacks/spec/blob/buildpack/0.10/buildpack.md#targets-1 https://docs.rs/zstd/latest/zstd/ Closes #192. Closes #194. GUS-W-15261168.
- Loading branch information