mirror of
https://github.com/odoo/runbot.git
synced 2025-03-15 23:45:44 +07:00
[IMP] runbot: introduce a base test for docker_default content
This commit is contained in:
parent
e5ad7c6242
commit
9a86941fcc
@ -12,6 +12,61 @@ _logger = logging.getLogger(__name__)
|
|||||||
@tagged('-at_install', 'post_install')
|
@tagged('-at_install', 'post_install')
|
||||||
class TestDockerfile(RunbotCase, HttpCase):
|
class TestDockerfile(RunbotCase, HttpCase):
|
||||||
|
|
||||||
|
def test_docker_default(self):
|
||||||
|
self.maxDiff = None
|
||||||
|
self.assertEqual(
|
||||||
|
self.env.ref('runbot.docker_default').dockerfile.replace('\n\n', '\n'),
|
||||||
|
r"""FROM ubuntu:jammy
|
||||||
|
ENV LANG C.UTF-8
|
||||||
|
USER root
|
||||||
|
RUN set -x ; \
|
||||||
|
apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends apt-transport-https build-essential ca-certificates curl ffmpeg file fonts-freefont-ttf fonts-noto-cjk gawk gnupg gsfonts libldap2-dev libjpeg9-dev libsasl2-dev libxslt1-dev lsb-release node-less ocrmypdf sed sudo unzip xfonts-75dpi zip zlib1g-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
RUN set -x ; \
|
||||||
|
apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends python3 python3-dbfread python3-dev python3-pip python3-setuptools python3-wheel python3-markdown python3-mock python3-phonenumbers plibpq-dev python3-gevent python3-websocket \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
# Install wkhtml
|
||||||
|
RUN curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb -o /tmp/wkhtml.deb \
|
||||||
|
&& apt-get update \
|
||||||
|
&& dpkg --force-depends -i /tmp/wkhtml.deb \
|
||||||
|
&& apt-get install -y -f --no-install-recommends \
|
||||||
|
&& rm /tmp/wkhtml.deb
|
||||||
|
# Install nodejs with values {"node_version": "20"}
|
||||||
|
RUN curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
|
||||||
|
&& echo "deb https://deb.nodesource.com/node_20.x `lsb_release -c -s` main" > /etc/apt/sources.list.d/nodesource.list \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install -y nodejs
|
||||||
|
RUN npm install -g rtlcss es-check eslint
|
||||||
|
ADD https://raw.githubusercontent.com/brendangregg/FlameGraph/master/flamegraph.pl /usr/local/bin/flamegraph.pl
|
||||||
|
RUN chmod +rx /usr/local/bin/flamegraph.pl
|
||||||
|
# Install branch debian/control with values {"odoo_branch": "master"}
|
||||||
|
ADD https://raw.githubusercontent.com/odoo/odoo/master/debian/control /tmp/control.txt
|
||||||
|
RUN apt-get update \
|
||||||
|
&& sed -n '/^Depends:/,/^[A-Z]/p' /tmp/control.txt \
|
||||||
|
| awk '/^ [a-z]/ { gsub(/,/,"") ; gsub(" ", "") ; print $NF }' | sort -u \
|
||||||
|
| egrep -v 'postgresql-client' \
|
||||||
|
| sed 's/python-imaging/python-pil/'| sed 's/python-pypdf/python-pypdf2/' \
|
||||||
|
| DEBIAN_FRONTEND=noninteractive xargs apt-get install -y -qq \
|
||||||
|
&& apt-get clean \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
RUN python3 -m pip install --no-cache-dir coverage==4.5.4 astroid==2.4.2 pylint==2.5.0 flamegraph
|
||||||
|
RUN python3 -m pip install --no-cache-dir ebaysdk==2.1.5 pdf417gen==0.7.1
|
||||||
|
RUN curl -sSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
|
||||||
|
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -s -c`-pgdg main" > /etc/apt/sources.list.d/pgclient.list \
|
||||||
|
&& apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y postgresql-client-12 \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
# Install chrome with values {"chrome_version": "123.0.6312.58-1"}
|
||||||
|
RUN curl -sSL https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_123.0.6312.58-1_amd64.deb -o /tmp/chrome.deb \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get -y install --no-install-recommends /tmp/chrome.deb \
|
||||||
|
&& rm /tmp/chrome.deb
|
||||||
|
# Install branch requirements with values {"odoo_branch": "master"}
|
||||||
|
ADD https://raw.githubusercontent.com/odoo/odoo/master/requirements.txt /root/requirements.txt
|
||||||
|
RUN python3 -m pip install --no-cache-dir -r /root/requirements.txt""")
|
||||||
|
|
||||||
def test_dockerfile_base_fields(self):
|
def test_dockerfile_base_fields(self):
|
||||||
xml_content = """<t t-call="runbot.docker_base">
|
xml_content = """<t t-call="runbot.docker_base">
|
||||||
<t t-set="custom_values" t-value="{
|
<t t-set="custom_values" t-value="{
|
||||||
|
Loading…
Reference in New Issue
Block a user