Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

modern: bump base to Bionic #466

Merged
merged 6 commits into from
Oct 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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