Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add heroku/builder:20 #394

Merged
merged 1 commit into from
Sep 26, 2023
Merged

Add heroku/builder:20 #394

merged 1 commit into from
Sep 26, 2023

Conversation

edmorley
Copy link
Member

@edmorley edmorley commented Sep 26, 2023

The builder images in this repository fall into two main groups:

  1. The legacy heroku/buildpacks:* builder namespace that use a mixture of native CNBs and shimmed classic buildpacks.
  2. The newer heroku/builder:* builder namespace that uses only native (non-shimmed) CNBs.

Previously, if someone wanted to use the newer builder image type they had to use heroku/builder:22 which is based on the Heroku-22 stack (Ubuntu 22.04).

Now, if someone needs to use Heroku-20 (Ubuntu 20.04), they can do so via a new heroku/builder:20 image, rather than needing to fall back to the older heroku/buildpacks:20 image and its shimmed classic buildpacks.

This will make it easier for us to deprecate heroku/buildpacks:20 in future PRs, since there will now be an easier upgrade paths for users that need eg older language runtime versions of Python/Ruby/PHP etc.

The new heroku/builder:20 builder image variant is identical to heroku/builder:22, except:

  • it uses Heroku-20 based run/build-images (instead of Heroku-22 based)
  • it doesn't include the java/node.js functions buildpacks (which are due to be removed from heroku/builder:22 soon in favour of the newly added internal Salesforce Functions image variant).

When this is merged, we'll also need to:

For more details, see:
https://salesforce.quip.com/0JtbAYiWZYk6

GUS-W-14184901.

The builder images in this repository fall into two main groups:
1. The legacy `heroku/buildpacks:*` builder namespace that use a
   mixture of native CNBs and shimmed classic buildpacks.
2. The newer `heroku/builder:*` builder namespace that uses only
   native (non-shimmed) CNBs.

Previously, if someone wanted to use the newer builder image type
they had to use `heroku/builder:22` which is based on the Heroku-22
stack (Ubuntu 22.04). 

Now, if someone needs to use Heroku-20  (Ubuntu 20.04), they can do
so via a new `heroku/builder:20` image, rather than needing to fall
back to the older `heroku/buildpacks:20` image and its shimmed
classic buildpacks.

This will make it easier for us to deprecate `heroku/buildpacks:20` in
future PRs, since there will now be an easier upgrade paths for users
that need eg older language runtime versions of Python/Ruby/PHP etc.

The new `heroku/builder:20` builder image variant is identical to
`heroku/builder:22`, except:
- it uses Heroku-20 based run/build-images
- it doesn't include the java/node.js functions buildpacks (which are
  due to be removed from `heroku/builder:22` soon in favour of the
  newly added salesforce-functions image variant).

For more details, see:
https://salesforce.quip.com/0JtbAYiWZYk6

GUS-W-14184901.
edmorley added a commit to heroku/languages-github-actions that referenced this pull request Sep 26, 2023
@edmorley
Copy link
Member Author

Branch protection list of required CI checks updated.

@edmorley edmorley merged commit 9168b92 into main Sep 26, 2023
49 checks passed
@edmorley edmorley deleted the edmorley/builder-20 branch September 26, 2023 11:36
@edmorley
Copy link
Member Author

edmorley added a commit to heroku/buildpacks-nodejs that referenced this pull request Sep 26, 2023
Since the `heroku/buildpacks:20` image is about to be deprecated,
and has been replaced by the newly added `heroku/builder:20` for
those that need to use a Heroku-20 based builder.

The build and run images used by `heroku/builder:20` are the same as
those used by `heroku/buildpacks:20` - the only differences between the
builders are the included buildpacks (which is somewhat irrelevant for
these integration tests, since the buildpack under test will be injected instead).

The smoke tests in the `heroku/builder` GitHub repo are still testing
against all image variants (until such time as we make the legacy images
error with an EOL message), so we still have test coverage against them.

See:
heroku/cnb-builder-images#394
https://salesforce.quip.com/0JtbAYiWZYk6

GUS-W-14186015.
edmorley added a commit to heroku/buildpacks-go that referenced this pull request Sep 27, 2023
Since the `heroku/buildpacks:20` image is about to be deprecated,
and has been replaced by the newly added `heroku/builder:20` for
those that need to use a Heroku-20 based builder.

The build and run images used by `heroku/builder:20` are the same as
those used by `heroku/buildpacks:20` - the only differences between the
builders are the included buildpacks (which is somewhat irrelevant for
these integration tests, since the buildpack under test will be injected instead).

The smoke tests in the `heroku/builder` GitHub repo are still testing
against all image variants (until such time as we make the legacy images
error with an EOL message), so we still have test coverage against them.

See:
heroku/cnb-builder-images#394
https://salesforce.quip.com/0JtbAYiWZYk6

GUS-W-14186015.
edmorley added a commit to heroku/buildpacks-jvm that referenced this pull request Sep 27, 2023
Since the `heroku/buildpacks:20` image is about to be deprecated,
and has been replaced by the newly added `heroku/builder:20` for
those that need to use a Heroku-20 based builder.

The build and run images used by `heroku/builder:20` are the same as
those used by `heroku/buildpacks:20` - the only differences between the
builders are the included buildpacks (which is somewhat irrelevant for
these integration tests, since the buildpack under test will be injected instead).

The smoke tests in the `heroku/builder` GitHub repo are still testing
against all image variants (until such time as we make the legacy images
error with an EOL message), so we still have test coverage against them.

See:
heroku/cnb-builder-images#394
https://salesforce.quip.com/0JtbAYiWZYk6

GUS-W-14186015.
edmorley added a commit to heroku/buildpacks-php that referenced this pull request Sep 27, 2023
Since the `heroku/buildpacks:20` image is about to be deprecated,
and has been replaced by the newly added `heroku/builder:20` for
those that need to use a Heroku-20 based builder.

The build and run images used by `heroku/builder:20` are the same as
those used by `heroku/buildpacks:20` - the only differences between the
builders are the included buildpacks (which is somewhat irrelevant for
these integration tests, since the buildpack under test will be injected instead).

The smoke tests in the `heroku/builder` GitHub repo are still testing
against all image variants (until such time as we make the legacy images
error with an EOL message), so we still have test coverage against them.

See:
heroku/cnb-builder-images#394
https://salesforce.quip.com/0JtbAYiWZYk6

GUS-W-14186015.
edmorley added a commit to heroku/buildpacks-python that referenced this pull request Sep 27, 2023
Since the `heroku/buildpacks:20` image is about to be deprecated,
and has been replaced by the newly added `heroku/builder:20` for
those that need to use a Heroku-20 based builder.

The build and run images used by `heroku/builder:20` are the same as
those used by `heroku/buildpacks:20` - the only differences between the
builders are the included buildpacks (which is somewhat irrelevant for
these integration tests, since the buildpack under test will be injected instead).

The smoke tests in the `heroku/builder` GitHub repo are still testing
against all image variants (until such time as we make the legacy images
error with an EOL message), so we still have test coverage against them.

See:
heroku/cnb-builder-images#394
https://salesforce.quip.com/0JtbAYiWZYk6

GUS-W-14186015.
edmorley added a commit to heroku/libcnb.rs that referenced this pull request Sep 27, 2023
Since the `heroku/buildpacks:20` image is about to be deprecated,
and has been replaced by the newly added `heroku/builder:20` for
those that need to use a Heroku-20 based builder.

The build and run images used by `heroku/builder:20` are the same as
those used by `heroku/buildpacks:20` - the only differences between the
builders are the included buildpacks (which is somewhat irrelevant for
these integration tests, since the buildpack under test will be injected instead).

See:
heroku/cnb-builder-images#394
https://salesforce.quip.com/0JtbAYiWZYk6

GUS-W-14186015.
jkutner pushed a commit to buildpacks/pack that referenced this pull request Oct 16, 2023
The `heroku/buildpacks:20` builder has been superseded by `heroku/builder:20`,
and the old builder is about to be deprecated:
heroku/cnb-builder-images#394
https://github.com/heroku/cnb-builder-images/blob/main/README.md

As such, the suggested/trusted builders list has been updated accordingly.

I've also tweaked the Heroku builder descriptions to:
- mention the underlying Linux distro
- fix the alphabetical ordering of supported buildpack languages

Signed-off-by: Ed Morley <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants