Skip to content

Commit

Permalink
Stop building/publishing heroku/buildpacks:20 and `heroku/builder-c…
Browse files Browse the repository at this point in the history
…lassic:22` (#514)

Since these images were:
- superseded by the `heroku/builder:*` images in June 2022
- officially deprecated in Oct 2023 (#429)
- made to error by default in March 2024 (#474)

Builds can still continue using the last version of these builders
published to Docker Hub, and the resultant app images can
still be rebased onto newer run images if needed.

I've also cleaned up the available images table in the README,
to make it display a little better. (There was too much content
before, causing the table to wrap awkwardly when viewed in
the narrow GitHub repo-root view.)

Closes #512.
  • Loading branch information
edmorley authored May 3, 2024
1 parent d74b3df commit 39cf029
Show file tree
Hide file tree
Showing 11 changed files with 15 additions and 495 deletions.
13 changes: 2 additions & 11 deletions .github/workflows/build-test-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
strategy:
fail-fast: false
matrix:
builder: ["buildpacks-20", "builder-classic-22", "builder-20", "builder-22", "salesforce-functions", "builder-24"]
builder: ["builder-20", "builder-22", "salesforce-functions", "builder-24"]
arch: ["amd64"]
include:
- builder: "builder-24"
Expand Down Expand Up @@ -70,13 +70,10 @@ jobs:
strategy:
fail-fast: false
matrix:
builder: ["buildpacks-20", "builder-classic-22", "builder-20", "builder-22"]
builder: ["builder-20", "builder-22"]
language: ["go", "gradle", "java", "node-js", "php", "python", "ruby", "scala"]
arch: ["amd64"]
include:
- builder: builder-classic-22
language: clojure
arch: amd64
- builder: builder-24
language: go
arch: amd64
Expand Down Expand Up @@ -188,12 +185,6 @@ jobs:
fail-fast: false
matrix:
include:
- builder: buildpacks-20
tag_public: heroku/buildpacks:20
arch: amd64
- builder: builder-classic-22
tag_public: heroku/builder-classic:22
arch: amd64
- builder: builder-20
tag_public: heroku/builder:20
arch: amd64
Expand Down
10 changes: 1 addition & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,7 @@
SHELL=/bin/bash -o pipefail

build:
@pack builder create heroku/buildpacks:20 --config buildpacks-20/builder.toml --pull-policy always
@pack builder create heroku/builder:20 --config builder-20/builder.toml --pull-policy always
@pack builder create heroku/builder:22 --config builder-22/builder.toml --pull-policy always
@pack builder create heroku/builder-classic:22 --config builder-classic-22/builder.toml --pull-policy always
@pack builder create heroku/builder:24 --config builder-24/builder.toml --pull-policy always
@pack builder create salesforce-functions --config salesforce-functions/builder.toml --pull-policy always

# The salesforce-functions image isn't published to Docker Hub, so is intentionally absent here.
publish: build
@docker push heroku/buildpacks:20
@docker push heroku/builder:20
@docker push heroku/builder:22
@docker push heroku/builder-classic:22
33 changes: 12 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,22 @@
This repository is responsible for building and publishing builder images for [Heroku's Cloud Native Buildpacks project](https://github.com/heroku/buildpacks), which is in preview.

A builder image is a packaged set of buildpacks, base images and a [`lifecycle`](https://github.com/buildpacks/lifecycle)
binary that orchestrates the build. These builder images use Heroku's [base images](https://github.com/heroku/base-images)
as their base.
A builder image is a packaged set of buildpacks, base images and a [lifecycle](https://github.com/buildpacks/lifecycle)
binary that orchestrates the build. For more information, see: [What is a builder?](https://buildpacks.io/docs/for-platform-operators/concepts/builder/)

For more information, see: [What is a builder?](https://buildpacks.io/docs/for-platform-operators/concepts/builder/)
These builder images use the build and run variants of Heroku's [base images](https://github.com/heroku/base-images)
during the build and as the default base of the built app image, respectively. For a list of the packages contained
in each base image, see [this Dev Center article](https://devcenter.heroku.com/articles/stack-packages).

## Available images

> [!WARNING]
> The `heroku/buildpacks:*` and `heroku/builder-classic:*` builder image variants have been sunset,
> since they use classic Heroku buildpacks shimmed for compatibility with the CNB specification,
> rather than Heroku's next-generation Cloud Native Buildpacks.
| Builder Image | OS | Supported Architectures | Default Run Image | Lifecycle Version | Status |
|-----------------------------------|--------------|-------------------------|-------------------------------------|-------------------|----------------|
| [heroku/builder:20][builder-tags] | Ubuntu 20.04 | AMD64 | [heroku/heroku:20-cnb][heroku-tags] | 0.19.3 | Available |
| [heroku/builder:22][builder-tags] | Ubuntu 22.04 | AMD64 | [heroku/heroku:22-cnb][heroku-tags] | 0.19.3 | Recommended |
| [heroku/builder:24][builder-tags] | Ubuntu 24.04 | AMD64 + ARM64 | [heroku/heroku:24][heroku-tags] | 0.19.3 | In Development |

| Builder Image | Base Build Image | Base Run Image | Lifecycle Version | Buildpack Types | Status |
|-----------------------------------------------------|---------------------------------------------|---------------------------------------|-------------------|------------------|----------------|
| [`heroku/buildpacks:18`][buildpacks-tags] | [`heroku/heroku:18-cnb-build`][heroku-tags] | [`heroku/heroku:18-cnb`][heroku-tags] | 0.16.1 | Shimmed + Native | End-of-life |
| [`heroku/buildpacks:20`][buildpacks-tags] | [`heroku/heroku:20-cnb-build`][heroku-tags] | [`heroku/heroku:20-cnb`][heroku-tags] | 0.17.6 | Shimmed + Native | End-of-life |
| [`heroku/builder-classic:22`][builder-classic-tags] | [`heroku/heroku:22-cnb-build`][heroku-tags] | [`heroku/heroku:22-cnb`][heroku-tags] | 0.17.6 | Shimmed | End-of-life |
| [`heroku/builder:20`][builder-tags] | [`heroku/heroku:20-cnb-build`][heroku-tags] | [`heroku/heroku:20-cnb`][heroku-tags] | 0.19.3 | Native | Available |
| [`heroku/builder:22`][builder-tags] | [`heroku/heroku:22-cnb-build`][heroku-tags] | [`heroku/heroku:22-cnb`][heroku-tags] | 0.19.3 | Native | Recommended |
| [`heroku/builder:24`][builder-tags] | [`heroku/heroku:24-build`][heroku-tags] | [`heroku/heroku:24`][heroku-tags] | 0.19.3 | Native | In Development |

The builder images above include buildpack support for the following languages: Go, Java, Node.js, PHP, Python, Ruby & Scala. The `heroku/builder-classic:22` builder image variant additionally supports Clojure.
The builder images above (excluding `heroku/builder:24`, whilst it's in development) include buildpack support for the following languages: Go, Java, Node.js, PHP, Python, Ruby & Scala.

Check the [lifecycle API version support matrix](https://github.com/buildpacks/lifecycle#supported-apis) to determine
which Platform and Buildpack API versions are compatible with the `lifecycle` version included in each builder.
Expand Down Expand Up @@ -64,12 +57,10 @@ For buildpack-specific bugs or feature requests, file an issue against the appro
- https://github.com/heroku/buildpacks-ruby
- https://github.com/heroku/buildpacks-procfile

For base image related bugs or feature requests (for example requests for additional system libraries), use:
For base image related bugs or feature requests (such as requests for additional system libraries), use:
https://github.com/heroku/base-images

For any other bug or feature request, file an issue in this repository.

[builder-tags]: https://hub.docker.com/r/heroku/builder/tags
[builder-classic-tags]: https://hub.docker.com/r/heroku/builder-classic/tags
[buildpacks-tags]: https://hub.docker.com/r/heroku/buildpacks/tags
[heroku-tags]: https://hub.docker.com/r/heroku/heroku/tags
167 changes: 0 additions & 167 deletions builder-classic-22/builder.toml

This file was deleted.

58 changes: 0 additions & 58 deletions builder-classic-22/end-of-life-buildpack/bin/build

This file was deleted.

3 changes: 0 additions & 3 deletions builder-classic-22/end-of-life-buildpack/bin/detect

This file was deleted.

13 changes: 0 additions & 13 deletions builder-classic-22/end-of-life-buildpack/buildpack.toml

This file was deleted.

Loading

0 comments on commit 39cf029

Please sign in to comment.