[ADD] Packaging: nightly tests: src dockerfile

Creation of a Dockerfile for the src package for nightly tests.
Remove unnecessary libraries installation from the Debian Dockerfile.
This commit is contained in:
Nicolas Martinelli 2015-02-19 18:02:19 +01:00 committed by Aaron Bohy
parent aca65438e8
commit 520360d80b
3 changed files with 55 additions and 18 deletions

View File

@ -19,19 +19,9 @@ ENV LC_ALL C.UTF-8
RUN apt-get update -qq && \
apt-get upgrade -qq -y && \
apt-get install \
postgresql \
postgresql-server-dev-all \
postgresql-client \
adduser \
libxml2-dev \
libxslt1-dev \
libldap2-dev \
libsasl2-dev \
libssl-dev \
libjpeg-dev \
python-dev \
python-pip \
build-essential \
postgresql \
postgresql-client \
python \
python-dateutil \
python-decorator \
@ -65,8 +55,4 @@ RUN apt-get update -qq && \
python-yaml -y && \
rm -rf /var/lib/apt/lists/*
COPY requirements.txt /opt/release/requirements.txt
RUN pip install -r /opt/release/requirements.txt
RUN echo "PS1=\"[\u@nightly-tests] # \"" > ~/.bashrc

42
setup/package.dfsrc Normal file
View File

@ -0,0 +1,42 @@
# Please note that this Dockerfile is used for testing nightly builds and should
# not be used to deploy Odoo
FROM debian:stable
MAINTAINER Odoo S.A. <info@odoo.com>
# Change policy-rc.d so that services start automatically once installed
RUN echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d
RUN apt-get update && \
apt-get install -y locales && \
rm -rf /var/lib/apt/lists/*
# Reconfigure locales such that postgresql uses UTF-8 encoding
RUN dpkg-reconfigure locales && \
locale-gen C.UTF-8 && \
/usr/sbin/update-locale LANG=C.UTF-8
ENV LC_ALL C.UTF-8
RUN apt-get update -qq && \
apt-get upgrade -qq -y && \
apt-get install \
postgresql \
postgresql-server-dev-all \
postgresql-client \
adduser \
libxml2-dev \
libxslt1-dev \
libldap2-dev \
libsasl2-dev \
libssl-dev \
libjpeg-dev \
python-dev \
python-pip \
build-essential \
python -y && \
rm -rf /var/lib/apt/lists/*
COPY requirements.txt /opt/release/requirements.txt
RUN pip install -r /opt/release/requirements.txt
RUN echo "PS1=\"[\u@nightly-tests] # \"" > ~/.bashrc

View File

@ -288,7 +288,16 @@ def build_exe(o):
# Stage: testing
#----------------------------------------------------------
def _prepare_testing(o):
if not o.no_tarball or not o.no_debian:
if not o.no_tarball:
subprocess.call(["mkdir", "docker_src"], cwd=o.build_dir)
subprocess.call(["cp", "package.dfsrc", os.path.join(o.build_dir, "docker_src", "Dockerfile")],
cwd=os.path.join(o.odoo_dir, "setup"))
# Use rsync to copy requirements.txt in order to keep original permissions
subprocess.call(["rsync", "-a", "requirements.txt", os.path.join(o.build_dir, "docker_src")],
cwd=os.path.join(o.odoo_dir))
subprocess.call(["docker", "build", "-t", "odoo-%s-src-nightly-tests" % version, "."],
cwd=os.path.join(o.build_dir, "docker_src"))
if not o.no_debian:
subprocess.call(["mkdir", "docker_debian"], cwd=o.build_dir)
subprocess.call(["cp", "package.dfdebian", os.path.join(o.build_dir, "docker_debian", "Dockerfile")],
cwd=os.path.join(o.odoo_dir, "setup"))
@ -305,7 +314,7 @@ def _prepare_testing(o):
cwd=os.path.join(o.build_dir, "docker_centos"))
def test_tgz(o):
with docker('odoo-%s-debian-nightly-tests' % version, o.build_dir, o.pub) as wheezy:
with docker('odoo-%s-src-nightly-tests' % version, o.build_dir, o.pub) as wheezy:
wheezy.release = '*.tar.gz'
wheezy.system("service postgresql start")
wheezy.system('/usr/local/bin/pip install /opt/release/%s' % wheezy.release)