diff --git a/Makefile b/Makefile index 19455ec34..7c3e16e66 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/debian/control b/debian/control index df54edcc9..2d9dba1e8 100644 --- a/debian/control +++ b/debian/control @@ -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 Description: Docker-powered PaaS that helps build and manage the lifecycle of applications diff --git a/docs/appendices/0.31.0-migration-guide.md b/docs/appendices/0.31.0-migration-guide.md index ecb871bb8..ae2455b86 100644 --- a/docs/appendices/0.31.0-migration-guide.md +++ b/docs/appendices/0.31.0-migration-guide.md @@ -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 diff --git a/docs/deployment/builders/cloud-native-buildpacks.md b/docs/deployment/builders/cloud-native-buildpacks.md index 23d5c6ab9..0e300ede4 100644 --- a/docs/deployment/builders/cloud-native-buildpacks.md +++ b/docs/deployment/builders/cloud-native-buildpacks.md @@ -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 diff --git a/docs/deployment/builders/herokuish-buildpacks.md b/docs/deployment/builders/herokuish-buildpacks.md index 66ca72ec3..60b295f65 100644 --- a/docs/deployment/builders/herokuish-buildpacks.md +++ b/docs/deployment/builders/herokuish-buildpacks.md @@ -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: ``` diff --git a/dokku b/dokku index ce657b8a1..fdef028b2 100755 --- a/dokku +++ b/dokku @@ -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"} diff --git a/tests/apps/dockerfile/app.json b/tests/apps/dockerfile/app.json index ea96d901c..6c39f8703 100644 --- a/tests/apps/dockerfile/app.json +++ b/tests/apps/dockerfile/app.json @@ -25,7 +25,7 @@ "generator": "echo 5" } }, - "image": "gliderlabs/herokuish:latest-20", + "image": "gliderlabs/herokuish:latest-22", "addons": [ "dokku-postgres", "dokku-redis" diff --git a/tests/apps/multi/Gemfile b/tests/apps/multi/Gemfile index df0465167..8c6c3a47c 100644 --- a/tests/apps/multi/Gemfile +++ b/tests/apps/multi/Gemfile @@ -1,6 +1,6 @@ source "https://rubygems.org" -ruby '2.7.5' +ruby '3.1.4' gem 'compass', ">= 1.0.1" gem 'sass-globbing' diff --git a/tests/apps/multi/Gemfile.lock b/tests/apps/multi/Gemfile.lock index 20c4333b1..c4f33b77e 100644 --- a/tests/apps/multi/Gemfile.lock +++ b/tests/apps/multi/Gemfile.lock @@ -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 diff --git a/tests/apps/nodejs-express/app.json b/tests/apps/nodejs-express/app.json index aad3fd590..918760d5f 100644 --- a/tests/apps/nodejs-express/app.json +++ b/tests/apps/nodejs-express/app.json @@ -25,7 +25,7 @@ "generator": "echo 5" } }, - "image": "gliderlabs/herokuish:latest-20", + "image": "gliderlabs/herokuish:latest-22", "addons": [ "dokku-postgres", "dokku-redis" diff --git a/tests/apps/python/cnb/1/buildpack.toml b/tests/apps/python/cnb/1/buildpack.toml index f89645558..9c0af09cf 100644 --- a/tests/apps/python/cnb/1/buildpack.toml +++ b/tests/apps/python/cnb/1/buildpack.toml @@ -6,4 +6,4 @@ version = "0.1.0" name = "1 Packages Buildpack" [[stacks]] -id = "heroku-20" +id = "heroku-22" diff --git a/tests/apps/python/cnb/2/buildpack.toml b/tests/apps/python/cnb/2/buildpack.toml index c15695e03..93b5e2955 100644 --- a/tests/apps/python/cnb/2/buildpack.toml +++ b/tests/apps/python/cnb/2/buildpack.toml @@ -6,4 +6,4 @@ version = "0.1.0" name = "2 Packages Buildpack" [[stacks]] -id = "heroku-20" +id = "heroku-22" diff --git a/tests/unit/builder-pack.bats b/tests/unit/builder-pack.bats index 84918aba9..bbcc7589b 100644 --- a/tests/unit/builder-pack.bats +++ b/tests/unit/builder-pack.bats @@ -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" {