summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Martinelli <nim@odoo.com>2015-02-19 18:02:19 +0100
committerAaron Bohy <aab@odoo.com>2015-02-20 16:56:13 +0100
commit520360d80b0af02f9afc806e3bb5c1400b641cba (patch)
tree4870e3a99a04c22940296babb78fc1e8632676e2
parentaca65438e80bca7ab20501d654099873cd424366 (diff)
[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.
-rw-r--r--setup/package.dfdebian16
-rw-r--r--setup/package.dfsrc42
-rwxr-xr-xsetup/package.py13
3 files changed, 54 insertions, 17 deletions
diff --git a/setup/package.dfdebian b/setup/package.dfdebian
index f59233e4db4..7a96a560792 100644
--- a/setup/package.dfdebian
+++ b/setup/package.dfdebian
@@ -19,19 +19,9 @@ ENV LC_ALL C.UTF-8
RUN apt-get update -qq && \
apt-get upgrade -qq -y && \
apt-get install \
+ adduser \
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 \
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
diff --git a/setup/package.dfsrc b/setup/package.dfsrc
new file mode 100644
index 00000000000..3b1f4cdfd09
--- /dev/null
+++ b/setup/package.dfsrc
@@ -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
diff --git a/setup/package.py b/setup/package.py
index bdd5470e507..24f7afa1e65 100755
--- a/setup/package.py
+++ b/setup/package.py
@@ -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)