Skip to content

Commit

Permalink
modern: bump base to Bionic (#466)
Browse files Browse the repository at this point in the history
  • Loading branch information
ericLemanissier authored Oct 11, 2022
1 parent e93fbe1 commit aa52cf5
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 20 deletions.
2 changes: 1 addition & 1 deletion .ci/generate.jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ node('Linux') {
}
String buildArgs = buildArguments.collect({ k, v -> "--build-arg ${k }=${v }"}).join(' ') as String

stage('Xenial - Build base image') {
stage('Bionic - Build base image') {
String expectedImage = "${dockerUsername}/base-${params.distro}${suffix}:${branchName}-${commit}"
String latestBranch = "${dockerUsername}/base-${params.distro}${suffix}:${branchName}-latest"
String latestMaster = "${dockerUsername}/base-${params.distro}${suffix}:${targetBranch}-latest"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ For personal projects, avoid the legacy folder.

#### Modern

The Modern folder stores our new design, re-using the same Dockerfile for any compiler version. Consider this folder for new projects, as we will maintain it for a long period. All images generated by modern design are named using the compiler name, version, distro and its version, e.g. `conanio/gcc11-ubuntu16.04`. Only x64 is supported. Please, read the issue [#205](/~https://github.com/conan-io/conan-docker-tools/issues/205) to obtain more information about our decision related to design, distro version, glibc support, system package and compilers.
The Modern folder stores our new design, re-using the same Dockerfile for any compiler version. Consider this folder for new projects, as we will maintain it for a long period. All images generated by modern design are named using the compiler name, version, distro and its version, e.g. `conanio/gcc11-ubuntu18.04`. Only x64 is supported. Please, read the issue [#205](/~https://github.com/conan-io/conan-docker-tools/issues/205) to obtain more information about our decision related to design, distro version, glibc support, system package and compilers.

### Official Docker Images

Expand Down
4 changes: 2 additions & 2 deletions modern/.env
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@ CLANG12_VERSION=12.0.0
CLANG13_VERSION=13.0.0
CLANG14_VERSION=14.0.0

DISTRO=ubuntu16.04
DISTRO_VERSION=16.04
DISTRO=ubuntu18.04
DISTRO_VERSION=18.04
2 changes: 1 addition & 1 deletion modern/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The images listed below are intended for **generating open-source library packag

## New Docker Strategy (June 2021)

> **TL;DR** New Docker images will use Ubuntu 16.04 as base and build all compilers from sources. Thus, all binaries generated will link with the same system library versions (smae `glibc` version).
> **TL;DR** New Docker images will use Ubuntu 18.04 as base and build all compilers from sources. Thus, all binaries generated will link with the same system library versions (smae `glibc` version).

After many updates, new compiler releases, instability and incompatibility problems, we decided to clean the house, move a step forward with Conan Docker Tools. So far, we usually follow the same recipe, when a compiler version is released, we also release a new docker image, but we have two main problems:
Expand Down
4 changes: 3 additions & 1 deletion modern/clang/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ RUN apt-get -qq update \
git \
python3 \
unzip \
gnupg \
python3-distutils \
&& wget -q --no-check-certificate /~https://github.com/ninja-build/ninja/releases/download/v1.11.0/ninja-linux.zip \
&& unzip ninja-linux.zip \
&& mv ninja /usr/bin/ninja \
Expand All @@ -42,7 +44,7 @@ RUN apt-get -qq update \
--exclude=share/vim \
--exclude=share/vim \
&& cp -fR cmake-3.15.7-Linux-x86_64/* /usr \
&& printf 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main\n' > /etc/apt/sources.list.d/llvm.list \
&& printf 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main\n' > /etc/apt/sources.list.d/llvm.list \
&& wget -q --no-check-certificate https://apt.llvm.org/llvm-snapshot.gpg.key \
&& apt-key add llvm-snapshot.gpg.key \
&& apt-get -qq update \
Expand Down
28 changes: 14 additions & 14 deletions modern/tests/test_installed/test_installed.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,22 @@


expected_versions = {
"pkg-config": {"16.04": "0.29.1"},
"make": {"16.04": "4.1"},
"autoconf": {"16.04": "2.69"},
"autoreconf": {"16.04": "2.69"},
"perl": {"16.04": "5.22.1"},
"wget": {"16.04": "1.17.1"},
"curl": {"16.04": "7.47.0"},
"svn": {"16.04": "1.9.3"},
"xz": {"16.04": "5.1.0"},
"nasm": {"16.04": "2.11.08"},
"ar": {"16.04": "2.37"},
"objdump": {"16.04": "2.37"},
"readelf": {"16.04": "2.37"},
"pkg-config": {"16.04": "0.29.1", "18.04": "0.29.1"},
"make": {"16.04": "4.1", "18.04": "4.1"},
"autoconf": {"16.04": "2.69", "18.04": "2.69"},
"autoreconf": {"16.04": "2.69", "18.04": "2.69"},
"perl": {"16.04": "5.22.1", "18.04": "5.26.1"},
"wget": {"16.04": "1.17.1", "18.04": "1.19.4"},
"curl": {"16.04": "7.47.0", "18.04": "7.58.0"},
"svn": {"16.04": "1.9.3", "18.04": "1.9.7"},
"xz": {"16.04": "5.1.0", "18.04": "5.2.2"},
"nasm": {"16.04": "2.11.08", "18.04": "2.13.02"},
"ar": {"16.04": "2.37", "18.04": "2.37"},
"objdump": {"16.04": "2.37", "18.04": "2.37"},
"readelf": {"16.04": "2.37", "18.04": "2.37"},
}

git_versions = {"16.04": "2.34.0"}
git_versions = {"16.04": "2.34.0", "18.04": "2.37.2"}

def test_cmake_version(container, expected):
output, _ = container.exec(["cmake", "--version"])
Expand Down

0 comments on commit aa52cf5

Please sign in to comment.