Skip to content
Permalink
Browse files
Update Debian Docker images from 10 to 11 (#3828)
* Updated Debian 10 to 11 due to Python 3.8 dependency
  • Loading branch information
nicknezis committed May 5, 2022
1 parent 820679c commit c18ff1b108f026fc2028391015252f46ebd6948a
Showing 21 changed files with 50 additions and 50 deletions.
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

FROM openjdk:11.0.6-jdk-buster
FROM openjdk:11-jdk-bullseye

RUN apt-get -y update && apt-get -y install \
ant \
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

FROM openjdk:11.0.6-jdk-buster
FROM openjdk:11-jdk-bullseye

ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8
@@ -16,7 +16,7 @@
# under the License.

#syntax=docker/dockerfile:1.2
FROM openjdk:11-jdk-slim-buster
FROM openjdk:11-jdk-slim-bullseye

ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8
@@ -166,7 +166,7 @@ case $# in
echo " "
echo "Script to build heron artifacts for different platforms"
echo " "
echo "Platforms Supported: darwin, debian10, ubuntu20.04, rocky8"
echo "Platforms Supported: darwin, debian11, ubuntu20.04, rocky8"
echo " "
echo "Example:"
echo " ./build-artifacts.sh ubuntu20.04 0.12.0 ."
@@ -59,7 +59,7 @@ run_build() {
DOCKER_TAG="heron/base:$HERON_VERSION"
DOCKER_LATEST_TAG="heron/base:latest"

if [ "$TARGET_PLATFORM" == "debian10" ]; then
if [ "$TARGET_PLATFORM" == "debian11" ]; then
DOCKER_TAG="apache/heron:$HERON_VERSION"
DOCKER_LATEST_TAG="apache/heron:latest"
DOCKER_IMAGE_FILE="$OUTPUT_DIRECTORY/base-$HERON_VERSION.tar"
@@ -91,7 +91,7 @@ case $# in
echo " "
echo "Usage: $0 <platform> <version_string> <output-directory>"
echo " "
echo "Platforms Supported: darwin, debian10, ubuntu20.04, rocky8"
echo "Platforms Supported: darwin, debian11, ubuntu20.04, rocky8"
echo " "
echo "Example:"
echo " ./build-base.sh ubuntu20.04 0.12.0 ~/ubuntu"
@@ -95,7 +95,7 @@ case $# in
echo "Usage: $0 <platform> <version_string> <artifact-directory> [-s|--squash]"
echo " "
echo "Argument options:"
echo " <platform>: darwin, debian10, ubuntu20.04, rocky8"
echo " <platform>: darwin, debian11, ubuntu20.04, rocky8"
echo " <version_string>: Version of Heron build, e.g. v0.17.5.1-rc"
echo " <artifact-directory>: Location of compiled Heron artifact"
echo " [-s|--squash]: Enables using Docker experimental feature --squash"
@@ -86,7 +86,7 @@ case $# in
*)
echo "Usage: $0 <platform> <version_string> <output-directory> "
echo " "
echo "Platforms Supported: darwin, debian10, ubuntu20.04, rocky8"
echo "Platforms Supported: darwin, debian11, ubuntu20.04, rocky8"
echo " "
echo "Example:"
echo " ./build-exec-docker.sh ubuntu20.04 0.12.0 ."
@@ -139,7 +139,7 @@ case $# in
*)
echo "Usage: $0 <operation> <platform> <version_string> <tag-prefix> <input-output-directory> "
echo " "
echo "Platforms Supported: ubuntu20.04, rocky8, debian10"
echo "Platforms Supported: ubuntu20.04, rocky8, debian11"
echo " "
echo "Example:"
echo " $0 build ubuntu20.04 0.12.0 heron ."
@@ -43,7 +43,7 @@ case $# in
esac

# Default platform is ubuntu18.04. Other available platforms
# include rocky8, debian10, ubuntu18.04
# include rocky8, debian11, ubuntu18.04
TARGET_PLATFORM=${2:-"ubuntu18.04"}
SCRATCH_DIR="$HOME/.heron-docker"
REPOSITORY="heron-dev"
@@ -19,7 +19,7 @@
# Build docker image to be released
# parameters:
# 1. version tag, e.g. v0.20.1-incubating
# 2. build os, e.g. debian10, rocky8
# 2. build os, e.g. debian11, rocky8
# 3. output dir

# Related environment variables
@@ -28,7 +28,7 @@ List available target distrobutions on separate stdout lines:
./docker-images
Build and tag a single distorbution image then print where the archive's path:
./docker-images build 0.1.0-debian10 debian10
./docker-images build 0.1.0-debian11 debian11
Build and tag all distrobution images then print each archive's path:
./docker-images build "$(git describe --tags)" --all
@@ -46,7 +46,7 @@ sh ./scripts/release_check/build.sh
sh ./scripts/release_check/run_test_topology.sh
```

### To compile source into a Heron docker image (host OS: MacOS, target OS: Debian10).
### To compile source into a Heron docker image (host OS: MacOS, target OS: debian11).
```
sh ./scripts/release_check/build_docker.sh
```
@@ -18,7 +18,7 @@

set -o errexit

BUILD_OS=debian10
BUILD_OS=debian11
VERSION_TAG=test_build
TEMP_RELEASE_DIR=artifacts

@@ -39,5 +39,5 @@ sh ./scripts/release_check/build.sh
echo "Run a test topology locally..."
sh ./scripts/release_check/run_test_topology.sh

echo "Build debian10 docker image..."
echo "Build debian11 docker image..."
sh ./scripts/release_check/build_docker.sh
@@ -75,7 +75,7 @@ function get_image {
out="$expected"
else
action "Creating heron image"
local gz="$(scripts/release/docker-images build test debian10)"
local gz="$(scripts/release/docker-images build test debian11)"
# XXX: must un .gz https://github.com/kubernetes-sigs/kind/issues/1636
gzip --decompress "$gz"
out="${gz%%.gz}"
@@ -85,7 +85,7 @@ function get_image {

create_cluster

get_image debian10
get_image debian11
heron_archive="$archive"
action "Loading heron docker image"
kind load image-archive "$heron_archive"
@@ -24,7 +24,7 @@ For developing Heron, you will need to compile it for the environment that you
want to use it in. If you'd like to use Docker to create that build environment,
Heron provides a convenient script to make that process easier.

Currently Debian10 and Ubuntu 20.04 are actively being supported. There is also limited support for Ubuntu 18.04, and CentOS 8. If you
Currently debian11 and Ubuntu 20.04 are actively being supported. There is also limited support for Ubuntu 18.04, and CentOS 8. If you
need another platform there are instructions for adding new ones
[below](#contributing-new-environments).

@@ -65,7 +65,7 @@ Script to build heron docker image for different platforms
Usage: ./docker/scripts/build-docker.sh <platform> <version_string> <artifact-directory> [-s|--squash]
Argument options:
<platform>: darwin, debian10, ubuntu20.04, rocky8
<platform>: darwin, debian11, ubuntu20.04, rocky8
<version_string>: Version of Heron build, e.g. v0.17.5.1-rc
<artifact-directory>: Location of compiled Heron artifact
[-s|--squash]: Enables using Docker experimental feature --squash
@@ -79,12 +79,12 @@ NOTE: If running on OSX, the output directory will need to

The following arguments are required:

* `platform` --- Currently we are focused on supporting the `debian10` and `ubuntu20.04` platforms.
* `platform` --- Currently we are focused on supporting the `debian11` and `ubuntu20.04` platforms.
We also support building Heron locally on OSX. You can specify this as listing `darwin` as the platform.
All options are:
- `darwin`
- `rocky8`
- `debian10`
- `debian11`
- `ubuntu18.04`
- `ubuntu20.04`

@@ -99,10 +99,10 @@ We also support building Heron locally on OSX. You can specify this as listing
Here's an example usage:

```bash
$ docker/scripts/build-artifacts.sh debian10 0.22.1-incubating ~/heron-release
$ docker/scripts/build-artifacts.sh debian11 0.22.1-incubating ~/heron-release
```

This will build a Docker container specific to Debian10, create a source
This will build a Docker container specific to debian11, create a source
tarball of the Heron repository, run a full release build of Heron, and then
copy the artifacts into the `~/heron-release` directory.

@@ -122,12 +122,12 @@ of the generated artifacts:

```bash
$ ls ~/heron-release
heron-0.22.1-incubating-debian10.tar
heron-0.22.1-incubating-debian10.tar.gz
heron-core-0.22.1-incubating-debian10.tar.gz
heron-install-0.22.1-incubating-debian10.sh
heron-layer-0.22.1-incubating-debian10.tar
heron-tools-0.22.1-incubating-debian10.tar.gz
heron-0.22.1-incubating-debian11.tar
heron-0.22.1-incubating-debian11.tar.gz
heron-core-0.22.1-incubating-debian11.tar.gz
heron-install-0.22.1-incubating-debian11.sh
heron-layer-0.22.1-incubating-debian11.tar
heron-tools-0.22.1-incubating-debian11.tar.gz
```

## Set Up A Docker Based Development Environment
@@ -172,7 +172,7 @@ platforms.

To add support for a new platform, add a new `Dockerfile` to that directory and
append the name of the platform to the name of the file. If you'd like to add
support for Debian 8, for example, add a file named `Dockerfile.debian10`. Once
support for Debian 8, for example, add a file named `Dockerfile.debian11`. Once
you've done that, follow the instructions in the [Docker
documentation](https://docs.docker.com/engine/articles/dockerfile_best-practices/).

@@ -21,7 +21,7 @@ sidebar_label: Compiling Overview
-->

Heron is currently available for [Mac OS X 12](compiling-osx),
[Ubuntu 20.04](compiling-linux), and [Debian10](compiling-docker#building-heron).
[Ubuntu 20.04](compiling-linux), and [debian11](compiling-docker#building-heron).
This guide describes the basics of the
Heron build system. For step-by-step build instructions for other platforms,
the following guides are available:
@@ -28,13 +28,13 @@ For other platforms, you need to build from source. Please refer to the [guide t
Heron tools can be installed using [installation scripts](#using-installation-scripts).

> Note: As of version 0.20.4-incubating, there is a python compatibility on OSX.
> The supported platforms are rocky8, Debian10, and Ubuntu18.04.
> The supported platforms are rocky8, debian11, and Ubuntu18.04.
## Using installation scripts

To install Heron binaries directly, using installation scripts, go to Heron's [download page](https://heron.apache.org/download)
and see a full listing of Heron releases for each available platform. The installation script for macOS (`debian10`), for example, is named
`heron-install-{{% heronVersion %}}-debian10.sh`.
and see a full listing of Heron releases for each available platform. The installation script for macOS (`debian11`), for example, is named
`heron-install-{{% heronVersion %}}-debian11.sh`.

Once you've downloaded the script, make it executable using [chmod](https://en.wikipedia.org/wiki/Chmod):

@@ -58,13 +58,13 @@ class Download extends React.Component {
const latestArchiveMirrorUrl = getLatestArchiveMirrorUrl(latestHeronVersion, 'bin');
const latestSrcArchiveMirrorUrl = getLatestArchiveMirrorUrl(latestHeronVersion, 'src');
const latestSrcUrl = getTarUrl(latestHeronVersion, "src");
const latestDebian10TarUrl = getTarUrl(latestHeronVersion, "debian10");
const latestdebian11TarUrl = getTarUrl(latestHeronVersion, "debian11");
const latestArchiveUrl = distUrl(latestHeronVersion, 'bin');
const latestSrcArchiveUrl = distUrl(latestHeronVersion, 'src')
const rocky8InstallUrl = getInstallScriptMirrorUrl(latestHeronVersion, "rocky8")
const rocky8InstallCryptoUrl = getInstallScriptCryptoUrl(latestHeronVersion, "rocky8")
const debian10InstallUrl = getInstallScriptMirrorUrl(latestHeronVersion, "debian10")
const debian10InstallCryptoUrl = getInstallScriptCryptoUrl(latestHeronVersion, "debian10")
const debian11InstallUrl = getInstallScriptMirrorUrl(latestHeronVersion, "debian11")
const debian11InstallCryptoUrl = getInstallScriptCryptoUrl(latestHeronVersion, "debian11")
const ubuntu2004InstallUrl = getInstallScriptMirrorUrl(latestHeronVersion, "ubuntu20.04")
const ubuntu2004InstallCryptoUrl = getInstallScriptCryptoUrl(latestHeronVersion, "ubuntu20.04")

@@ -118,13 +118,13 @@ class Download extends React.Component {
</td>
</tr>
<tr key={'binary'}>
<th>Debian10 Binary</th>
<th>debian11 Binary</th>
<td>
<a href={latestSrcArchiveMirrorUrl}>heron-{latestHeronVersion}-debian10.tar.gz</a>
<a href={latestSrcArchiveMirrorUrl}>heron-{latestHeronVersion}-debian11.tar.gz</a>
</td>
<td>
<a href={`${latestDebian10TarUrl}.asc`}>asc</a>,&nbsp;
<a href={`${latestDebian10TarUrl}.sha512`}>sha512</a>
<a href={`${latestdebian11TarUrl}.asc`}>asc</a>,&nbsp;
<a href={`${latestdebian11TarUrl}.sha512`}>sha512</a>
</td>
</tr>
</tbody>
@@ -158,14 +158,14 @@ class Download extends React.Component {
<a href={`${rocky8InstallCryptoUrl}.sha512`}>sha512</a>
</td>
</tr>
<tr key={'debian10-install'}>
<th>Debian10</th>
<tr key={'debian11-install'}>
<th>debian11</th>
<td>
<a href={`${debian10InstallUrl}`}> heron-install-0.20.4-incubating-debian10.sh</a>
<a href={`${debian11InstallUrl}`}> heron-install-0.20.4-incubating-debian11.sh</a>
</td>
<td>
<a href={`${debian10InstallCryptoUrl}.asc`}>asc</a>,&nbsp;
<a href={`${debian10InstallCryptoUrl}.sha512`}>sha512</a>
<a href={`${debian11InstallCryptoUrl}.asc`}>asc</a>,&nbsp;
<a href={`${debian11InstallCryptoUrl}.sha512`}>sha512</a>
</td>
</tr>
<tr key={'ubuntu20.04-install'}>
@@ -44,7 +44,7 @@ If you already have Bazel and the other required tools installed for your platfo
$ bazel build --config=[platform] scripts/packages:binpkgs
```
Options for the config flag are:
* `debian` (Debian10)
* `debian` (debian11)
* `ubuntu` (Ubuntu)
* `darwin` (OSX)

@@ -29,13 +29,13 @@ For other platforms, you need to build from source. Please refer to the [guide t
Heron tools can be installed using [installation scripts](#using-installation-scripts).

> Note: As of version 0.20.4-incubating, there is a python compatibility on OSX.
> The supported platforms are CentOS7, Debian10, and Ubuntu18.04.
> The supported platforms are CentOS7, debian11, and Ubuntu18.04.
## Using installation scripts

To install Heron binaries directly, using installation scripts, go to Heron's [download page](https://heron.apache.org/download)
and see a full listing of Heron releases for each available platform. The installation script for macOS (`debian10`), for example, is named
`heron-install-{{% heronVersion %}}-debian10.sh`.
and see a full listing of Heron releases for each available platform. The installation script for macOS (`debian11`), for example, is named
`heron-install-{{% heronVersion %}}-debian11.sh`.

Once you've downloaded the script, make it executable using [chmod](https://en.wikipedia.org/wiki/Chmod):

0 comments on commit c18ff1b

Please sign in to comment.