From 6f009f7780d5c0122ca9b32aecdaa15bbee3d691 Mon Sep 17 00:00:00 2001 From: Andreas Perhab Date: Thu, 19 Jan 2023 12:01:04 +0100 Subject: [PATCH 1/3] [FIX] git: use a newer version of git --- 11.0.Dockerfile | 17 +++++++++++++++++ 12.0.Dockerfile | 17 +++++++++++++++++ 13.0.Dockerfile | 19 +++++++++++++++++-- 14.0.Dockerfile | 18 +++++++++++++++++- 15.0.Dockerfile | 18 +++++++++++++++++- 16.0.Dockerfile | 18 +++++++++++++++++- 6 files changed, 102 insertions(+), 5 deletions(-) diff --git a/11.0.Dockerfile b/11.0.Dockerfile index a2a24d2f..a381b6f9 100644 --- a/11.0.Dockerfile +++ b/11.0.Dockerfile @@ -2,6 +2,10 @@ FROM python:3.5-stretch AS base EXPOSE 8069 8072 +ARG GIT_VERSION=2.37.6 +# skip libssl-dev as it's already installed by other packages and should not be removed after git install +ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" +ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" ARG GEOIP_UPDATER_VERSION=4.1.5 ARG MQT=https://github.com/OCA/maintainer-quality-tools.git ARG WKHTMLTOPDF_VERSION=0.12.5 @@ -52,6 +56,8 @@ RUN apt-get -qq update \ zlibc \ apt-transport-https \ ca-certificates \ + $GIT_BUILD_DEPENDENCIES \ + $GIT_RUNTIME_DEPENDENCIES \ && echo 'deb https://apt-archive.postgresql.org/pub/repos/apt stretch-pgdg main' >> /etc/apt/sources.list.d/postgresql.list \ && curl -SL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \ && curl https://bootstrap.pypa.io/pip/3.5/get-pip.py | python3 /dev/stdin \ @@ -66,6 +72,17 @@ RUN apt-get -qq update \ && curl --silent -L --output geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb https://github.com/maxmind/geoipupdate/releases/download/v${GEOIP_UPDATER_VERSION}/geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && dpkg -i geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && rm geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ + && curl --silent -L --output "git-${GIT_VERSION}.tar.gz" "https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz" \ + && tar xf "git-${GIT_VERSION}.tar.gz" \ + && rm "git-${GIT_VERSION}.tar.gz" \ + && cd git-${GIT_VERSION} \ + && make configure \ + && ./configure --prefix=/usr \ + && make all \ + && make install \ + && cd .. \ + && rm -Rf "git-${GIT_VERSION}" \ + && apt-get remove -y $GIT_BUILD_DEPENDENCIES \ && rm -Rf /var/lib/apt/lists/* /tmp/* # Special case to get latest Less and PhantomJS diff --git a/12.0.Dockerfile b/12.0.Dockerfile index cd87abea..dc24d4d0 100644 --- a/12.0.Dockerfile +++ b/12.0.Dockerfile @@ -2,6 +2,10 @@ FROM python:3.5-stretch AS base EXPOSE 8069 8072 +ARG GIT_VERSION=2.37.6 +# skip libssl-dev as it's already installed by other packages and should not be removed after git install +ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" +ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" ARG GEOIP_UPDATER_VERSION=4.1.5 ARG MQT=https://github.com/OCA/maintainer-quality-tools.git ARG WKHTMLTOPDF_VERSION=0.12.5 @@ -52,6 +56,8 @@ RUN apt-get -qq update \ zlibc \ apt-transport-https \ ca-certificates \ + $GIT_BUILD_DEPENDENCIES \ + $GIT_RUNTIME_DEPENDENCIES \ && echo 'deb https://apt-archive.postgresql.org/pub/repos/apt stretch-pgdg main' >> /etc/apt/sources.list.d/postgresql.list \ && curl -SL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \ && curl https://bootstrap.pypa.io/pip/3.5/get-pip.py | python3 /dev/stdin \ @@ -66,6 +72,17 @@ RUN apt-get -qq update \ && curl --silent -L --output geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb https://github.com/maxmind/geoipupdate/releases/download/v${GEOIP_UPDATER_VERSION}/geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && dpkg -i geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && rm geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ + && curl --silent -L --output "git-${GIT_VERSION}.tar.gz" "https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz" \ + && tar xf "git-${GIT_VERSION}.tar.gz" \ + && rm "git-${GIT_VERSION}.tar.gz" \ + && cd git-${GIT_VERSION} \ + && make configure \ + && ./configure --prefix=/usr \ + && make all \ + && make install \ + && cd .. \ + && rm -Rf "git-${GIT_VERSION}" \ + && apt-get remove -y $GIT_BUILD_DEPENDENCIES \ && rm -Rf /var/lib/apt/lists/* /tmp/* # Special case to get latest Less diff --git a/13.0.Dockerfile b/13.0.Dockerfile index f58243de..a470bfe8 100644 --- a/13.0.Dockerfile +++ b/13.0.Dockerfile @@ -2,6 +2,10 @@ FROM python:3.6-slim-buster AS base EXPOSE 8069 8072 +ARG GIT_VERSION=2.37.6 +# skip libssl-dev as it's already installed by other packages and should not be removed after git install +ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" +ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" ARG GEOIP_UPDATER_VERSION=4.1.5 ARG MQT=https://github.com/OCA/maintainer-quality-tools.git ARG WKHTMLTOPDF_VERSION=0.12.5 @@ -47,7 +51,6 @@ RUN apt-get -qq update \ ffmpeg \ fonts-liberation2 \ gettext \ - git \ gnupg2 \ locales-all \ nano \ @@ -56,13 +59,25 @@ RUN apt-get -qq update \ telnet \ vim \ zlibc \ + $GIT_BUILD_DEPENDENCIES \ + $GIT_RUNTIME_DEPENDENCIES \ && echo 'deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main' >> /etc/apt/sources.list.d/postgresql.list \ && curl -SL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \ && apt-get update \ - && apt-get install -yqq --no-install-recommends \ && curl --silent -L --output geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb https://github.com/maxmind/geoipupdate/releases/download/v${GEOIP_UPDATER_VERSION}/geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && dpkg -i geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && rm geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ + && curl --silent -L --output "git-${GIT_VERSION}.tar.gz" "https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz" \ + && tar xf "git-${GIT_VERSION}.tar.gz" \ + && rm "git-${GIT_VERSION}.tar.gz" \ + && cd git-${GIT_VERSION} \ + && make configure \ + && ./configure --prefix=/usr \ + && make all \ + && make install \ + && cd .. \ + && rm -Rf "git-${GIT_VERSION}" \ + && apt-get remove -y $GIT_BUILD_DEPENDENCIES \ && apt-get autopurge -yqq \ && rm -Rf wkhtmltox.deb /var/lib/apt/lists/* /tmp/* \ && sync diff --git a/14.0.Dockerfile b/14.0.Dockerfile index 889cbd5d..944e5f96 100644 --- a/14.0.Dockerfile +++ b/14.0.Dockerfile @@ -2,6 +2,10 @@ FROM python:3.8-slim-buster AS base EXPOSE 8069 8072 +ARG GIT_VERSION=2.37.6 +# skip libssl-dev as it's already installed by other packages and should not be removed after git install +ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" +ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" ARG GEOIP_UPDATER_VERSION=4.3.0 ARG WKHTMLTOPDF_VERSION=0.12.5 ARG WKHTMLTOPDF_CHECKSUM='dfab5506104447eef2530d1adb9840ee3a67f30caaad5e9bcb8743ef2f9421bd' @@ -44,7 +48,6 @@ RUN apt-get -qq update \ ffmpeg \ fonts-liberation2 \ gettext \ - git \ gnupg2 \ locales-all \ nano \ @@ -53,12 +56,25 @@ RUN apt-get -qq update \ telnet \ vim \ zlibc \ + $GIT_BUILD_DEPENDENCIES \ + $GIT_RUNTIME_DEPENDENCIES \ && echo 'deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main' >> /etc/apt/sources.list.d/postgresql.list \ && curl -SL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \ && apt-get update \ && curl --silent -L --output geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb https://github.com/maxmind/geoipupdate/releases/download/v${GEOIP_UPDATER_VERSION}/geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && dpkg -i geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && rm geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ + && curl --silent -L --output "git-${GIT_VERSION}.tar.gz" "https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz" \ + && tar xf "git-${GIT_VERSION}.tar.gz" \ + && rm "git-${GIT_VERSION}.tar.gz" \ + && cd git-${GIT_VERSION} \ + && make configure \ + && ./configure --prefix=/usr \ + && make all \ + && make install \ + && cd .. \ + && rm -Rf "git-${GIT_VERSION}" \ + && apt-get remove -y $GIT_BUILD_DEPENDENCIES \ && apt-get autopurge -yqq \ && rm -Rf wkhtmltox.deb /var/lib/apt/lists/* /tmp/* \ && sync diff --git a/15.0.Dockerfile b/15.0.Dockerfile index 8eba5de2..dda7edee 100644 --- a/15.0.Dockerfile +++ b/15.0.Dockerfile @@ -2,6 +2,10 @@ FROM python:3.8-slim-bullseye AS base EXPOSE 8069 8072 +ARG GIT_VERSION=2.37.6 +# skip libssl-dev as it's already installed by other packages and should not be removed after git install +ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" +ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" ARG GEOIP_UPDATER_VERSION=4.3.0 ARG WKHTMLTOPDF_VERSION=0.12.5 ARG WKHTMLTOPDF_CHECKSUM='dfab5506104447eef2530d1adb9840ee3a67f30caaad5e9bcb8743ef2f9421bd' @@ -44,7 +48,6 @@ RUN apt-get -qq update \ ffmpeg \ fonts-liberation2 \ gettext \ - git \ gnupg2 \ locales-all \ nano \ @@ -52,12 +55,25 @@ RUN apt-get -qq update \ openssh-client \ telnet \ vim \ + $GIT_BUILD_DEPENDENCIES \ + $GIT_RUNTIME_DEPENDENCIES \ && echo 'deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main' >> /etc/apt/sources.list.d/postgresql.list \ && curl -SL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \ && apt-get update \ && curl --silent -L --output geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb https://github.com/maxmind/geoipupdate/releases/download/v${GEOIP_UPDATER_VERSION}/geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && dpkg -i geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && rm geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ + && curl --silent -L --output "git-${GIT_VERSION}.tar.gz" "https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz" \ + && tar xf "git-${GIT_VERSION}.tar.gz" \ + && rm "git-${GIT_VERSION}.tar.gz" \ + && cd git-${GIT_VERSION} \ + && make configure \ + && ./configure --prefix=/usr \ + && make all \ + && make install \ + && cd .. \ + && rm -Rf "git-${GIT_VERSION}" \ + && apt-get remove -y $GIT_BUILD_DEPENDENCIES \ && apt-get autopurge -yqq \ && rm -Rf wkhtmltox.deb /var/lib/apt/lists/* /tmp/* \ && sync diff --git a/16.0.Dockerfile b/16.0.Dockerfile index 42acd0a9..3bb539b5 100644 --- a/16.0.Dockerfile +++ b/16.0.Dockerfile @@ -2,6 +2,10 @@ FROM python:3.8-slim-bullseye AS base EXPOSE 8069 8072 +ARG GIT_VERSION=2.37.6 +# skip libssl-dev as it's already installed by other packages and should not be removed after git install +ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" +ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" ARG GEOIP_UPDATER_VERSION=4.3.0 ARG WKHTMLTOPDF_VERSION=0.12.5 ARG WKHTMLTOPDF_CHECKSUM='dfab5506104447eef2530d1adb9840ee3a67f30caaad5e9bcb8743ef2f9421bd' @@ -44,7 +48,6 @@ RUN apt-get -qq update \ ffmpeg \ fonts-liberation2 \ gettext \ - git \ gnupg2 \ locales-all \ nano \ @@ -52,12 +55,25 @@ RUN apt-get -qq update \ openssh-client \ telnet \ vim \ + $GIT_BUILD_DEPENDENCIES \ + $GIT_RUNTIME_DEPENDENCIES \ && echo 'deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main' >> /etc/apt/sources.list.d/postgresql.list \ && curl -SL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \ && apt-get update \ && curl --silent -L --output geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb https://github.com/maxmind/geoipupdate/releases/download/v${GEOIP_UPDATER_VERSION}/geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && dpkg -i geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ && rm geoipupdate_${GEOIP_UPDATER_VERSION}_linux_amd64.deb \ + && curl --silent -L --output "git-${GIT_VERSION}.tar.gz" "https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz" \ + && tar xf "git-${GIT_VERSION}.tar.gz" \ + && rm "git-${GIT_VERSION}.tar.gz" \ + && cd git-${GIT_VERSION} \ + && make configure \ + && ./configure --prefix=/usr \ + && make all \ + && make install \ + && cd .. \ + && rm -Rf "git-${GIT_VERSION}" \ + && apt-get remove -y $GIT_BUILD_DEPENDENCIES \ && apt-get autopurge -yqq \ && rm -Rf wkhtmltox.deb /var/lib/apt/lists/* /tmp/* \ && sync From 4b5414ca014c8c0b0ef55bbe02a37d8de6f01d7d Mon Sep 17 00:00:00 2001 From: Andreas Perhab Date: Thu, 19 Jan 2023 13:38:16 +0100 Subject: [PATCH 2/3] [IMP] geoipupdater: use version 4.10.0 --- 11.0.Dockerfile | 2 +- 12.0.Dockerfile | 2 +- 13.0.Dockerfile | 2 +- 14.0.Dockerfile | 2 +- 15.0.Dockerfile | 2 +- 16.0.Dockerfile | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/11.0.Dockerfile b/11.0.Dockerfile index a381b6f9..e3ab64c9 100644 --- a/11.0.Dockerfile +++ b/11.0.Dockerfile @@ -6,7 +6,7 @@ ARG GIT_VERSION=2.37.6 # skip libssl-dev as it's already installed by other packages and should not be removed after git install ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" -ARG GEOIP_UPDATER_VERSION=4.1.5 +ARG GEOIP_UPDATER_VERSION=4.10.0 ARG MQT=https://github.com/OCA/maintainer-quality-tools.git ARG WKHTMLTOPDF_VERSION=0.12.5 ARG WKHTMLTOPDF_CHECKSUM='1140b0ab02aa6e17346af2f14ed0de807376de475ba90e1db3975f112fbd20bb' diff --git a/12.0.Dockerfile b/12.0.Dockerfile index dc24d4d0..971295ac 100644 --- a/12.0.Dockerfile +++ b/12.0.Dockerfile @@ -6,7 +6,7 @@ ARG GIT_VERSION=2.37.6 # skip libssl-dev as it's already installed by other packages and should not be removed after git install ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" -ARG GEOIP_UPDATER_VERSION=4.1.5 +ARG GEOIP_UPDATER_VERSION=4.10.0 ARG MQT=https://github.com/OCA/maintainer-quality-tools.git ARG WKHTMLTOPDF_VERSION=0.12.5 ARG WKHTMLTOPDF_CHECKSUM='1140b0ab02aa6e17346af2f14ed0de807376de475ba90e1db3975f112fbd20bb' diff --git a/13.0.Dockerfile b/13.0.Dockerfile index a470bfe8..03468ca0 100644 --- a/13.0.Dockerfile +++ b/13.0.Dockerfile @@ -6,7 +6,7 @@ ARG GIT_VERSION=2.37.6 # skip libssl-dev as it's already installed by other packages and should not be removed after git install ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" -ARG GEOIP_UPDATER_VERSION=4.1.5 +ARG GEOIP_UPDATER_VERSION=4.10.0 ARG MQT=https://github.com/OCA/maintainer-quality-tools.git ARG WKHTMLTOPDF_VERSION=0.12.5 ARG WKHTMLTOPDF_CHECKSUM='dfab5506104447eef2530d1adb9840ee3a67f30caaad5e9bcb8743ef2f9421bd' diff --git a/14.0.Dockerfile b/14.0.Dockerfile index 944e5f96..b46a8139 100644 --- a/14.0.Dockerfile +++ b/14.0.Dockerfile @@ -6,7 +6,7 @@ ARG GIT_VERSION=2.37.6 # skip libssl-dev as it's already installed by other packages and should not be removed after git install ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" -ARG GEOIP_UPDATER_VERSION=4.3.0 +ARG GEOIP_UPDATER_VERSION=4.10.0 ARG WKHTMLTOPDF_VERSION=0.12.5 ARG WKHTMLTOPDF_CHECKSUM='dfab5506104447eef2530d1adb9840ee3a67f30caaad5e9bcb8743ef2f9421bd' ENV DB_FILTER=.* \ diff --git a/15.0.Dockerfile b/15.0.Dockerfile index dda7edee..ae0861b6 100644 --- a/15.0.Dockerfile +++ b/15.0.Dockerfile @@ -6,7 +6,7 @@ ARG GIT_VERSION=2.37.6 # skip libssl-dev as it's already installed by other packages and should not be removed after git install ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" -ARG GEOIP_UPDATER_VERSION=4.3.0 +ARG GEOIP_UPDATER_VERSION=4.10.0 ARG WKHTMLTOPDF_VERSION=0.12.5 ARG WKHTMLTOPDF_CHECKSUM='dfab5506104447eef2530d1adb9840ee3a67f30caaad5e9bcb8743ef2f9421bd' ENV DB_FILTER=.* \ diff --git a/16.0.Dockerfile b/16.0.Dockerfile index 3bb539b5..da11a6fc 100644 --- a/16.0.Dockerfile +++ b/16.0.Dockerfile @@ -6,7 +6,7 @@ ARG GIT_VERSION=2.37.6 # skip libssl-dev as it's already installed by other packages and should not be removed after git install ARG GIT_BUILD_DEPENDENCIES="make dh-autoreconf libexpat1-dev libz-dev" ARG GIT_RUNTIME_DEPENDENCIES="libcurl4-gnutls-dev" -ARG GEOIP_UPDATER_VERSION=4.3.0 +ARG GEOIP_UPDATER_VERSION=4.10.0 ARG WKHTMLTOPDF_VERSION=0.12.5 ARG WKHTMLTOPDF_CHECKSUM='dfab5506104447eef2530d1adb9840ee3a67f30caaad5e9bcb8743ef2f9421bd' ENV DB_FILTER=.* \ From c3eea7e5084d8c1641100ee0bab5883882d66b87 Mon Sep 17 00:00:00 2001 From: Andreas Perhab Date: Thu, 19 Jan 2023 14:57:12 +0100 Subject: [PATCH 3/3] [IMP] tests: add a test to verify the git version --- tests/__init__.py | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/tests/__init__.py b/tests/__init__.py index c177f1cf..03fe9e82 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -10,7 +10,7 @@ from itertools import product from os import environ from os.path import dirname, join -from subprocess import Popen +from subprocess import Popen, check_output logging.basicConfig(level=logging.DEBUG) @@ -728,6 +728,40 @@ def test_aggregate_permissions(self): ("autoaggregate",), ) + def test_git_version(self): + smallest_dir = join(SCAFFOLDINGS_DIR, "smallest") + # make sure image is built before getting expected git version from image layers (history) + for sub_env in matrix(): + self.compose_test(smallest_dir, sub_env, ("id",)) + + # detect expected git version from image layers + if "COMPOSE_PROJECT_NAME" in os.environ: + image_name = f'{os.environ["COMPOSE_PROJECT_NAME"]}_odoo:latest' + else: + image_name = "smallest_odoo:latest" + image_layers = check_output(["docker", "image", "history", image_name]).split( + b"\n" + ) + git_version_layer = [ + layer for layer in image_layers if b"ARG GIT_VERSION=" in layer + ][0] + git_version = [ + c for c in git_version_layer.split(b" ") if c.startswith(b"GIT_VERSION=") + ][0].split(b"=")[1] + expected_git_version = f"git version {git_version.decode('utf-8')}" + + # verify that the git used inside the container matches the expected version + for sub_env in matrix(): + self.compose_test( + smallest_dir, + sub_env, + ( + "bash", + "-c", + f'set -x; test "$(git --version)" == "{expected_git_version}"', + ), + ) + if __name__ == "__main__": unittest.main()