chore: drop support for Ubuntu 16.04

As of April 2021, it will no longer be an LTS release, and thus us supporting it will increase maintenance burdens.

Also switch CI to use 18.04, so as to test what we currently support.

Closes #4505
This commit is contained in:
Jose Diaz-Gonzalez
2021-03-21 23:31:30 -04:00
parent b00061fa0f
commit 135c7d4b2c
9 changed files with 16 additions and 17 deletions

View File

@@ -13,7 +13,7 @@ on:
jobs: jobs:
build: build:
name: build name: build
runs-on: ubuntu-16.04 runs-on: ubuntu-18.04
outputs: outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }} matrix: ${{ steps.set-matrix.outputs.matrix }}
strategy: strategy:
@@ -41,7 +41,7 @@ jobs:
unit-tests: unit-tests:
name: unit.${{ matrix.index }} name: unit.${{ matrix.index }}
needs: build needs: build
runs-on: ubuntu-16.04 runs-on: ubuntu-18.04
strategy: strategy:
fail-fast: false fail-fast: false
matrix: ${{fromJson(needs.build.outputs.matrix)}} matrix: ${{fromJson(needs.build.outputs.matrix)}}
@@ -78,7 +78,7 @@ jobs:
docker-deploy-tests: docker-deploy-tests:
name: docker name: docker
needs: build needs: build
runs-on: ubuntu-16.04 runs-on: ubuntu-18.04
strategy: strategy:
fail-fast: false fail-fast: false
@@ -103,7 +103,7 @@ jobs:
go-tests: go-tests:
name: go.${{ matrix.index }} name: go.${{ matrix.index }}
needs: build needs: build
runs-on: ubuntu-16.04 runs-on: ubuntu-18.04
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -143,7 +143,7 @@ jobs:
publish-test-results: publish-test-results:
name: publish-test-results name: publish-test-results
needs: unit-tests needs: unit-tests
runs-on: ubuntu-16.04 runs-on: ubuntu-18.04
# the build-and-test job might be skipped, we don't need to run this job then # the build-and-test job might be skipped, we don't need to run this job then
if: success() || failure() if: success() || failure()

View File

@@ -86,7 +86,7 @@ Support us with a monthly donation and help us continue our activities. [[Become
A fresh VM running any of the following operating systems: A fresh VM running any of the following operating systems:
- Ubuntu 16.04/18.04/20.04 x64 - Any currently supported release - Ubuntu 18.04/20.04 x64 - Any currently supported release
- Debian 9+ x64 - Debian 9+ x64
- CentOS 7 x64 *(experimental)* - CentOS 7 x64 *(experimental)*
- Arch Linux x64 *(experimental)* - Arch Linux x64 *(experimental)*

View File

@@ -3,7 +3,7 @@ set -eo pipefail
[[ $TRACE ]] && set -x [[ $TRACE ]] && set -x
# A script to bootstrap dokku. # A script to bootstrap dokku.
# It expects to be run on Ubuntu 16.04/18.04/20.04, or CentOS 7 via 'sudo' # It expects to be run on Ubuntu 18.04/20.04, or CentOS 7 via 'sudo'
# If installing a tag higher than 0.3.13, it may install dokku via a package (so long as the package is higher than 0.3.13) # If installing a tag higher than 0.3.13, it may install dokku via a package (so long as the package is higher than 0.3.13)
# It checks out the dokku source code from Github into ~/dokku and then runs 'make install' from dokku source. # It checks out the dokku source code from Github into ~/dokku and then runs 'make install' from dokku source.
@@ -12,7 +12,7 @@ set -eo pipefail
# That's good because it prevents our output overlapping with wget's. # That's good because it prevents our output overlapping with wget's.
# It also means that we can't run a partially downloaded script. # It also means that we can't run a partially downloaded script.
SUPPORTED_VERSIONS="Debian [9, 10], CentOS [7], Fedora (partial) [33, 34], Ubuntu [16.04, 18.04, 20.04]" SUPPORTED_VERSIONS="Debian [9, 10], CentOS [7], Fedora (partial) [33, 34], Ubuntu [18.04, 20.04]"
log-fail() { log-fail() {
declare desc="log fail formatter" declare desc="log fail formatter"
@@ -155,7 +155,7 @@ install-dokku-from-deb-package() {
local NO_INSTALL_RECOMMENDS=${DOKKU_NO_INSTALL_RECOMMENDS:=""} local NO_INSTALL_RECOMMENDS=${DOKKU_NO_INSTALL_RECOMMENDS:=""}
local OS_ID local OS_ID
if ! in-array "$DOKKU_DISTRO_VERSION" "16.04" "18.04" "20.04" "9" "10"; then if ! in-array "$DOKKU_DISTRO_VERSION" "18.04" "20.04" "9" "10"; then
log-fail "Unsupported Linux distribution. Only the following versions are supported: $SUPPORTED_VERSIONS" log-fail "Unsupported Linux distribution. Only the following versions are supported: $SUPPORTED_VERSIONS"
fi fi
@@ -187,7 +187,7 @@ install-dokku-from-deb-package() {
fi fi
if [[ "$DOKKU_DISTRO" == "ubuntu" ]]; then if [[ "$DOKKU_DISTRO" == "ubuntu" ]]; then
OS_IDS=("xenial" "bionic" "focal") OS_IDS=("bionic" "focal")
if ! in-array "$OS_ID" "${OS_IDS[@]}"; then if ! in-array "$OS_ID" "${OS_IDS[@]}"; then
OS_ID="bionic" OS_ID="bionic"
fi fi

View File

@@ -16,7 +16,6 @@ def download_file(filename, url):
def upload_file(filename): def upload_file(filename):
versions = [ versions = [
"xenial"
"focal" "focal"
] ]
cmd_template = "package_cloud push dokku/dokku/ubuntu/{0} {1}" cmd_template = "package_cloud push dokku/dokku/ubuntu/{0} {1}"

View File

@@ -136,7 +136,7 @@ fn-publish-package() {
[[ "$RELEASE_TYPE" == "rpm" ]] && DIST=el/7 [[ "$RELEASE_TYPE" == "rpm" ]] && DIST=el/7
if [[ "$DIST" == "ubuntu" ]]; then if [[ "$DIST" == "ubuntu" ]]; then
OS_IDS=("xenial" "bionic" "focal") OS_IDS=("bionic" "focal")
for OS_ID in "${OS_IDS[@]}"; do for OS_ID in "${OS_IDS[@]}"; do
log-info "(release-dokku) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}" log-info "(release-dokku) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}"
package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME" package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME"

View File

@@ -9,11 +9,11 @@ We maintain the Dokku test harness within the `tests` directory:
## Continuous Integration ## Continuous Integration
All pull requests have tests run against them on [CircleCI](https://circleci.com/), a continuous integration platform that provides Docker support for Ubuntu Trusty 16.04. All pull requests have tests run against them on [Github Actions](https://github.com/features/actions), a continuous integration platform that provides Docker support for Ubuntu Trusty 18.04.
If you wish to skip tests for a particular commit, e.g. documentation changes, you may add the `[ci skip]` designator to your commit message. Commits that _should_ be tested but have the above designator will not be merged. If you wish to skip tests for a particular commit, e.g. documentation changes, you may add the `[ci skip]` designator to your commit message. Commits that _should_ be tested but have the above designator will not be merged.
While we do provide official packages for a variety of platforms, as our test suite currently runs on Ubuntu Trusty 16.04, we only provide official installation support for that platform and the latest LTS release of Ubuntu (currently 18.04). While we do provide official packages for a variety of platforms, as our test suite currently runs on Ubuntu Trusty 18.04, we only provide official installation support for that platform and the latest LTS release of Ubuntu (currently 20.04).
## Local Test Execution ## Local Test Execution

View File

@@ -13,7 +13,7 @@ wget -nv -O - https://get.docker.com/ | sh
# install dokku # install dokku
wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add - wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add -
OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")" OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")"
echo "xenial bionic focal" | grep -q "$OS_ID" || OS_ID="bionic" echo "bionic focal" | grep -q "$OS_ID" || OS_ID="bionic"
echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ ${OS_ID} main" | sudo tee /etc/apt/sources.list.d/dokku.list echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ ${OS_ID} main" | sudo tee /etc/apt/sources.list.d/dokku.list
sudo apt-get update -qq >/dev/null sudo apt-get update -qq >/dev/null
sudo apt-get -qq -y install dokku sudo apt-get -qq -y install dokku

View File

@@ -6,7 +6,7 @@ Dokku is an extensible, open source Platform as a Service that runs on a single
To start using Dokku, you'll need a system that meets the following minimum requirements: To start using Dokku, you'll need a system that meets the following minimum requirements:
- A fresh installation of [Ubuntu 16.04/18.04/20.04 x64](https://www.ubuntu.com/download), [Debian 9+ x64](https://www.debian.org/distrib/) or [CentOS 7 x64](https://www.centos.org/download/) *(experimental)* with the FQDN set <sup>[1]</sup> - A fresh installation of [Ubuntu 18.04/20.04 x64](https://www.ubuntu.com/download), [Debian 9+ x64](https://www.debian.org/distrib/) or [CentOS 7 x64](https://www.centos.org/download/) *(experimental)* with the FQDN set <sup>[1]</sup>
- At least 1 GB of system memory <sup>[2]</sup> - At least 1 GB of system memory <sup>[2]</sup>
You can *optionally* have a domain name pointed at the host's IP, though this is not necessary. You can *optionally* have a domain name pointed at the host's IP, though this is not necessary.

View File

@@ -140,7 +140,7 @@
<p class="line"> <p class="line">
<span class="path"></span> <span class="path"></span>
<span class="prompt">$</span> <span class="prompt">$</span>
<span class="command">echo "xenial bionic focal" | grep -q "$OS_ID" || OS_ID="bionic"</span> <span class="command">echo "bionic focal" | grep -q "$OS_ID" || OS_ID="bionic"</span>
</p> </p>
<p class="line"> <p class="line">
<span class="path"></span> <span class="path"></span>