feat: make heroku-22/jammy the default stack for cnb/herokuish builds

This commit is contained in:
Jose Diaz-Gonzalez
2023-08-08 23:02:50 -04:00
parent 990ca04374
commit 24d94576a9
13 changed files with 30 additions and 28 deletions

View File

@@ -20,7 +20,7 @@ PROCFILE_UTIL_URL ?= https://github.com/josegonzalez/go-procfile-util/releases/d
SIGIL_URL ?= https://github.com/gliderlabs/sigil/releases/download/v${SIGIL_VERSION}/gliderlabs-sigil_${SIGIL_VERSION}_linux_${TARGETARCH}.tgz
SSHCOMMAND_URL ?= https://github.com/dokku/sshcommand/releases/download/v${SSHCOMMAND_VERSION}/sshcommand_${SSHCOMMAND_VERSION}_linux_x86_64.tgz
STACK_URL ?= https://github.com/gliderlabs/herokuish.git
PREBUILT_STACK_URL ?= gliderlabs/herokuish:latest-20
PREBUILT_STACK_URL ?= gliderlabs/herokuish:latest-22
DOKKU_LIB_ROOT ?= /var/lib/dokku
PLUGINS_PATH ?= ${DOKKU_LIB_ROOT}/plugins
CORE_PLUGINS_PATH ?= ${DOKKU_LIB_ROOT}/core-plugins

2
debian/control vendored
View File

@@ -4,7 +4,7 @@ Section: web
Priority: optional
Architecture: amd64
Depends: apache2-utils, locales, git, cpio, curl, man-db, netcat, sshcommand (>= 0.12.0), docker-engine-cs (>= 17.05.0) | docker-engine (>= 17.05.0) | docker-io (>= 17.05.0) | docker.io (>= 17.05.0) | docker-ce (>= 17.05.0) | docker-ee (>= 17.05.0) | moby-engine, docker-compose-plugin | moby-compose, docker-container-healthchecker (>= 0.6.4), docker-image-labeler (>= 0.2.2), lambda-builder, net-tools, netrc, software-properties-common, parallel, procfile-util (>= 0.11.0), python-software-properties | python3-software-properties, rsync, rsyslog, dos2unix, jq, unzip
Recommends: herokuish (>= 0.3.4), bash-completion, dokku-update, dokku-event-listener
Recommends: herokuish (>= 0.7.0), bash-completion, dokku-update, dokku-event-listener
Pre-Depends: gliderlabs-sigil, nginx (>= 1.8.0) | openresty, dnsutils, cgroupfs-mount | cgroup-lite, plugn (>= 0.3.0), sudo, python3, debconf
Maintainer: Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>
Description: Docker-powered PaaS that helps build and manage the lifecycle of applications

View File

@@ -9,6 +9,9 @@
- For deploys via the `git:from-image` and `git:load-image` commands, the `CHECKS` file is now extracted from the configured `WORKDIR` property of the image. For all other deploys - git push, `git:from-archive`, `git:sync` - will have the `CHECKS` extracted directly from the source code. The filename in both cases is `CHECKS` and cannot be modified.
- Port mappings are now auto-detected during the build process. Users may override detected port mappings via the `ports` plugin. A default port mapping of `http:80:5000` will be used if none is otherwise specified.
- Users building docker images that run Dokku will need to use a new sudoer wrapper for the `docker-container-healthchecker` binary to work correctly. A reference version has been placed in the `docker` skeleton directory. This should only impact platform developers, and users of our Docker image will already have the file available.
- The default image used for Herokuish Buildpack builds is now `gliderlabs/herokuish:latest-22`, and is based on both the `heroku-22` stack as well as Ubuntu 22.04. Users that wish to stick with the old, `heroku-20`/Ubuntu 20.04 builder may specify `gliderlabs/herokuish:latest-20` as their builder image. Please see the [herokuish buildpack deployment documentation](/docs/deployment/builders/herokuish-buildpacks.md#customizing-the-buildpack-stack-builder) for more information on how to specify a custom buildpack stack builder.
- The default image used for Cloud Native Buildpack builds is now `heroku/builder:22`, and is based on both the `heroku-22` stack as well as Ubuntu 22.04. Users that wish to stick with the old, `heroku-20`/Ubuntu 20.04 builder may specify `heroku/buildpacks:20` as their builder image. Please see the [herokuish buildpack deployment documentation](/docs/deployment/builders/herokuish-buildpacks.md#customizing-the-buildpack-stack-builder) for more information on how to specify a custom buildpack stack builder.
## Deprecations

View File

@@ -136,7 +136,7 @@ project2.toml
> New as of 0.23.0
The default stack builder in use by CNB buildpacks in Dokku is based on `heroku/buildpacks`. Users may desire to switch the stack builder to a custom version, either to update the operating system or to customize packages included with the stack builder. This can be performed via the `buildpacks:set-property` command.
The default stack builder in use by CNB buildpacks in Dokku is based on `heroku/builder:22`. Users may desire to switch the stack builder to a custom version, either to update the operating system or to customize packages included with the stack builder. This can be performed via the `buildpacks:set-property` command.
```shell
dokku buildpacks:set-property node-js-app stack paketobuildpacks/build:base-cnb
@@ -150,7 +150,7 @@ dokku buildpacks:set-property node-js-app stack
A change in the stack builder value will execute the `post-stack-set` trigger.
Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set `DOKKU_CNB_BUILDER` environment variable (`heroku/buildpacks` by default).
Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set `DOKKU_CNB_BUILDER` environment variable (`heroku/builder:22` by default).
```shell
# set globally

View File

@@ -163,7 +163,7 @@ dokku buildpacks:set-property node-js-app stack
A change in the stack builder value will execute the `post-stack-set` trigger.
Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set `DOKKU_IMAGE` environment variable (`gliderlabs/herokuish:latest-20` by default).
Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set `DOKKU_IMAGE` environment variable (`gliderlabs/herokuish:latest-22` by default).
```shell
# set globally
@@ -213,18 +213,18 @@ dokku buildpacks:report
```
=====> node-js-app buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:v0.5.23-20
Buildpacks global stack: gliderlabs/herokuish:latest-20
Buildpacks computed stack: gliderlabs/herokuish:v0.7.0-22
Buildpacks global stack: gliderlabs/herokuish:latest-22
Buildpacks list: https://github.com/heroku/heroku-buildpack-nodejs.git
Buildpacks stack: gliderlabs/herokuish:v0.5.23-20
Buildpacks stack: gliderlabs/herokuish:v0.7.0-20
=====> python-sample buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:latest-20
Buildpacks global stack: gliderlabs/herokuish:latest-20
Buildpacks computed stack: gliderlabs/herokuish:latest-22
Buildpacks global stack: gliderlabs/herokuish:latest-22
Buildpacks list: https://github.com/heroku/heroku-buildpack-nodejs.git,https://github.com/heroku/heroku-buildpack-python.git
Buildpacks stack:
=====> ruby-sample buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:latest-20
Buildpacks global stack: gliderlabs/herokuish:latest-20
Buildpacks computed stack: gliderlabs/herokuish:latest-22
Buildpacks global stack: gliderlabs/herokuish:latest-22
Buildpacks list:
Buildpacks stack:
```

4
dokku
View File

@@ -39,8 +39,8 @@ DOKKU_DISTRO=$(
# configuration can ever override the DOCKER_BIN value
export DOCKER_BIN=${DOCKER_BIN:="docker"}
export DOKKU_IMAGE=${DOKKU_IMAGE:="gliderlabs/herokuish:latest-20"}
export DOKKU_CNB_BUILDER=${DOKKU_CNB_BUILDER:="heroku/buildpacks:20"}
export DOKKU_IMAGE=${DOKKU_IMAGE:="gliderlabs/herokuish:latest-22"}
export DOKKU_CNB_BUILDER=${DOKKU_CNB_BUILDER:="heroku/builder:22"}
export DOKKU_LIB_ROOT=${DOKKU_LIB_PATH:="/var/lib/dokku"}
export PLUGIN_PATH=${PLUGIN_PATH:="$DOKKU_LIB_ROOT/plugins"}

View File

@@ -25,7 +25,7 @@
"generator": "echo 5"
}
},
"image": "gliderlabs/herokuish:latest-20",
"image": "gliderlabs/herokuish:latest-22",
"addons": [
"dokku-postgres",
"dokku-redis"

View File

@@ -1,6 +1,6 @@
source "https://rubygems.org"
ruby '2.7.5'
ruby '3.1.4'
gem 'compass', ">= 1.0.1"
gem 'sass-globbing'

View File

@@ -16,7 +16,7 @@ GEM
sass (>= 3.2, < 3.5)
ffi (1.15.5)
multi_json (1.15.0)
rb-fsevent (0.11.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
sass (3.4.25)
@@ -31,7 +31,7 @@ DEPENDENCIES
sass-globbing
RUBY VERSION
ruby 2.7.5p203
ruby 3.1.4p223
BUNDLED WITH
2.1.4
2.3.26

View File

@@ -25,7 +25,7 @@
"generator": "echo 5"
}
},
"image": "gliderlabs/herokuish:latest-20",
"image": "gliderlabs/herokuish:latest-22",
"addons": [
"dokku-postgres",
"dokku-redis"

View File

@@ -6,4 +6,4 @@ version = "0.1.0"
name = "1 Packages Buildpack"
[[stacks]]
id = "heroku-20"
id = "heroku-22"

View File

@@ -6,4 +6,4 @@ version = "0.1.0"
name = "2 Packages Buildpack"
[[stacks]]
id = "heroku-20"
id = "heroku-22"

View File

@@ -25,7 +25,7 @@ teardown() {
echo "status: $status"
assert_success
run /bin/bash -c "dokku buildpacks:set-property $TEST_APP stack heroku/buildpacks:20"
run /bin/bash -c "dokku buildpacks:set-property $TEST_APP stack heroku/builder:22"
echo "output: $output"
echo "status: $status"
assert_success
@@ -35,8 +35,7 @@ teardown() {
echo "status: $status"
assert_success
assert_output_contains 'Building with buildpack 1' 0
assert_output_contains 'Installing requirements with pip'
assert_output_contains "Build time env var SECRET_KEY=fjdkslafjdk"
assert_output_contains 'Installing dependencies using Pip'
run /bin/bash -c "dokku builder-pack:set $TEST_APP projecttoml-path nonexistent.toml"
echo "output: $output"
@@ -48,7 +47,7 @@ teardown() {
echo "status: $status"
assert_success
assert_output_contains 'Building with buildpack 1' 0
assert_output_contains 'Installing requirements with pip'
assert_output_contains 'Installing dependencies using Pip'
run /bin/bash -c "dokku builder-pack:set $TEST_APP projecttoml-path project2.toml"
echo "output: $output"
@@ -60,7 +59,7 @@ teardown() {
echo "status: $status"
assert_success
assert_output_contains 'Building with buildpack 1'
assert_output_contains 'Installing requirements with pip' 0
assert_output_contains 'Installing dependencies using Pip' 0
run /bin/bash -c "dokku builder-pack:set $TEST_APP projecttoml-path"
echo "output: $output"
@@ -72,7 +71,7 @@ teardown() {
echo "status: $status"
assert_success
assert_output_contains 'Building with buildpack 1' 0
assert_output_contains 'Installing requirements with pip'
assert_output_contains 'Installing dependencies using Pip'
}
@test "(builder-pack) git:from-image without a Procfile" {