-
Notifications
You must be signed in to change notification settings - Fork 307
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
Support Odoo v11 🎉 #85
Merged
Changes from all commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
7d77460
Support Odoo v11 🎉
yajo 9bdd5bf
fixup! Support Odoo v11 🎉
yajo cf17e04
fixup! Support Odoo v11 🎉
yajo 62895f6
fixup! fixup! Support Odoo v11 🎉
yajo 253d775
fixup! fixup! Support Odoo v11 🎉
yajo a12a6af
fixup! fixup! fixup! Support Odoo v11 🎉
yajo 4f729f0
fixup! fixup! fixup! fixup! Support Odoo v11 🎉
yajo 3ff74c7
fixup! fixup! fixup! fixup! fixup! Support Odoo v11 🎉
yajo e297c03
fixup! fixup! fixup! fixup! fixup! fixup! Support Odoo v11 🎉
yajo 5783bae
fixup! fixup! fixup! fixup! fixup! fixup! fixup! Support Odoo v11 🎉
yajo 3098238
fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! Support Odoo …
yajo 3f6d20d
fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! Suppor…
yajo cb10600
fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup!…
yajo fe1755e
fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup!…
yajo dae137d
fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup!…
yajo 9c7932e
fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup!…
yajo 6db234b
fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup!…
yajo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
8.0.Dockerfile |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
FROM debian:9 | ||
|
||
# Enable Odoo user and filestore | ||
RUN useradd -md /home/odoo -s /bin/false odoo \ | ||
&& mkdir -p /var/lib/odoo \ | ||
&& chown -R odoo:odoo /var/lib/odoo \ | ||
&& sync | ||
VOLUME ["/var/lib/odoo"] | ||
EXPOSE 8069 8072 | ||
|
||
# Subimage triggers | ||
ONBUILD ENTRYPOINT ["/opt/odoo/common/entrypoint"] | ||
ONBUILD CMD ["/usr/local/bin/odoo"] | ||
ONBUILD ARG AGGREGATE=true | ||
ONBUILD ARG DEPTH_DEFAULT=1 | ||
ONBUILD ARG DEPTH_MERGE=100 | ||
ONBUILD ARG CLEAN=true | ||
ONBUILD ARG COMPILE=true | ||
ONBUILD ARG CONFIG_BUILD=true | ||
ONBUILD ARG PIP_INSTALL_ODOO=true | ||
ONBUILD ARG ADMIN_PASSWORD=admin | ||
ONBUILD ARG SMTP_SERVER=smtp | ||
ONBUILD ARG PROXY_MODE=false | ||
ONBUILD ARG WITHOUT_DEMO=all | ||
ONBUILD ARG PGUSER=odoo | ||
ONBUILD ARG PGPASSWORD=odoopassword | ||
ONBUILD ARG PGHOST=db | ||
ONBUILD ARG PGDATABASE=prod | ||
# Config variables | ||
ONBUILD ENV ADMIN_PASSWORD="$ADMIN_PASSWORD" \ | ||
UNACCENT="$UNACCENT" \ | ||
PGUSER="$PGUSER" \ | ||
PGPASSWORD="$PGPASSWORD" \ | ||
PGHOST="$PGHOST" \ | ||
PGDATABASE="$PGDATABASE" \ | ||
PROXY_MODE="$PROXY_MODE" \ | ||
SMTP_SERVER="$SMTP_SERVER" \ | ||
WITHOUT_DEMO="$WITHOUT_DEMO" | ||
ONBUILD ARG LOCAL_CUSTOM_DIR=./custom | ||
ONBUILD COPY $LOCAL_CUSTOM_DIR /opt/odoo/custom | ||
# https://docs.python.org/2.7/library/logging.html#levels | ||
ONBUILD ARG LOG_LEVEL=INFO | ||
ONBUILD RUN mkdir -p /opt/odoo/custom/ssh \ | ||
&& ln -s /opt/odoo/custom/ssh ~root/.ssh \ | ||
&& chmod -R u=rwX,go= /opt/odoo/custom/ssh \ | ||
&& sync | ||
ONBUILD RUN ["/opt/odoo/common/build"] | ||
ONBUILD USER odoo | ||
|
||
ARG WKHTMLTOPDF_VERSION=0.12.4 | ||
ARG WKHTMLTOPDF_CHECKSUM='049b2cdec9a8254f0ef8ac273afaf54f7e25459a273e27189591edc7d7cf29db' | ||
ENV DEPTH_DEFAULT=1 \ | ||
DEPTH_MERGE=100 \ | ||
EMAIL=https://hub.docker.com/r/tecnativa/odoo \ | ||
GIT_AUTHOR_NAME=docker-odoo \ | ||
LC_ALL=C.UTF-8 \ | ||
NODE_PATH=/usr/local/lib/node_modules:/usr/lib/node_modules \ | ||
OPENERP_SERVER=/opt/odoo/auto/odoo.conf \ | ||
PATH="~/.local/bin:$PATH" \ | ||
PUDB_RDB_HOST=0.0.0.0 \ | ||
PUDB_RDB_PORT=6899 \ | ||
UNACCENT=true \ | ||
WAIT_DB=true \ | ||
WDB_NO_BROWSER_AUTO_OPEN=True \ | ||
WDB_SOCKET_SERVER=wdb \ | ||
WDB_WEB_PORT=1984 \ | ||
WDB_WEB_SERVER=localhost | ||
|
||
# Other requirements and recommendations to run Odoo | ||
# See https://github.com/$ODOO_SOURCE/blob/$ODOO_VERSION/debian/control | ||
RUN apt-get -qq update \ | ||
&& apt-get -yqq upgrade \ | ||
&& apt-get install -yqq --no-install-recommends \ | ||
python3 ruby-compass \ | ||
fontconfig libfreetype6 libxml2 libxslt1.1 libjpeg62-turbo zlib1g \ | ||
libfreetype6 liblcms2-2 libtiff5 tk tcl libpq5 \ | ||
libldap-2.4-2 libsasl2-2 libx11-6 libxext6 libxrender1 \ | ||
locales-all zlibc \ | ||
bzip2 ca-certificates curl gettext-base git gnupg2 nano \ | ||
openssh-client postgresql-client telnet xz-utils \ | ||
&& curl https://bootstrap.pypa.io/get-pip.py | python3 /dev/stdin --no-cache-dir \ | ||
&& curl -sL https://deb.nodesource.com/setup_6.x | bash - \ | ||
&& apt-get install -yqq nodejs \ | ||
&& apt-get -yqq purge python2.7 \ | ||
&& apt-get -yqq autoremove \ | ||
&& rm -Rf /var/lib/apt/lists/* | ||
|
||
# Special case to get latest Less and PhantomJS | ||
RUN ln -s /usr/bin/nodejs /usr/local/bin/node \ | ||
&& npm install -g less phantomjs-prebuilt \ | ||
&& rm -Rf ~/.npm /tmp/* | ||
|
||
# Special case to get bootstrap-sass, required by Odoo for Sass assets | ||
RUN gem install --no-rdoc --no-ri --no-update-sources bootstrap-sass --version '<4' \ | ||
&& rm -Rf ~/.gem /var/lib/gems/*/cache/ | ||
|
||
# Special case for wkhtmltox | ||
RUN curl -SLo wkhtmltox.tar.xz https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/${WKHTMLTOPDF_VERSION}/wkhtmltox-${WKHTMLTOPDF_VERSION}_linux-generic-amd64.tar.xz \ | ||
&& echo "${WKHTMLTOPDF_CHECKSUM} wkhtmltox.tar.xz" | sha256sum -c - \ | ||
&& tar --strip-components 1 -C /usr/local/ -xf wkhtmltox.tar.xz \ | ||
&& rm wkhtmltox.tar.xz \ | ||
&& wkhtmltopdf --version | ||
|
||
# Other facilities | ||
WORKDIR /opt/odoo | ||
RUN pip install --no-cache-dir \ | ||
astor git-aggregator openupgradelib ptvsd==3.0.0 pudb wdb | ||
COPY bin/* /usr/local/bin/ | ||
COPY lib/odoobaselib /usr/local/lib/python3.5/dist-packages/odoobaselib | ||
COPY build.d common/build.d | ||
COPY conf.d common/conf.d | ||
COPY entrypoint.d common/entrypoint.d | ||
RUN mkdir -p auto/addons custom/src/private \ | ||
&& ln /usr/local/bin/direxec common/entrypoint \ | ||
&& ln /usr/local/bin/direxec common/build \ | ||
&& chmod -R a+rx common/entrypoint* common/build* /usr/local/bin \ | ||
&& chmod -R a+rX /usr/local/lib/python3.5/dist-packages/odoobaselib \ | ||
&& ln -s $(which python3) /usr/local/bin/python \ | ||
&& sync | ||
|
||
# Execute installation script by Odoo version | ||
# This is at the end to benefit from cache at build time | ||
# https://docs.docker.com/engine/reference/builder/#/impact-on-build-caching | ||
ARG ODOO_SOURCE=OCA/OCB | ||
ARG ODOO_VERSION=11.0 | ||
ENV ODOO_VERSION="$ODOO_VERSION" | ||
RUN apt-get update \ | ||
&& apt-get install -y \ | ||
build-essential \ | ||
libevent-dev \ | ||
libjpeg-dev \ | ||
libldap2-dev \ | ||
libsasl2-dev \ | ||
libssl-dev \ | ||
libxml2-dev \ | ||
libxslt1-dev \ | ||
python3-dev \ | ||
zlib1g-dev \ | ||
&& pip install --no-cache-dir -r https://raw.githubusercontent.com/$ODOO_SOURCE/$ODOO_VERSION/requirements.txt \ | ||
&& python3 -m compileall -q /usr/local/lib/python3.5/ || true \ | ||
&& apt-get purge -yqq build-essential '*-dev' \ | ||
&& apt-mark -qq manual '*' \ | ||
&& rm -Rf /var/lib/apt/lists/* | ||
|
||
# Metadata | ||
ARG VCS_REF | ||
ARG BUILD_DATE | ||
ARG VERSION | ||
LABEL org.label-schema.schema-version="$VERSION" \ | ||
org.label-schema.vendor=Tecnativa \ | ||
org.label-schema.license=Apache-2.0 \ | ||
org.label-schema.build-date="$BUILD_DATE" \ | ||
org.label-schema.vcs-ref="$VCS_REF" \ | ||
org.label-schema.vcs-url="https://github.com/Tecnativa/docker-odoo-base" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
FROM debian:8 | ||
MAINTAINER Tecnativa <[email protected]> | ||
|
||
# Enable Odoo user and filestore | ||
RUN useradd -md /home/odoo -s /bin/false odoo \ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
8.0.Dockerfile |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,2 @@ | ||
[options] | ||
; Addons in priority order: private, then other repos, then base Odoo | ||
addons_path = /opt/odoo/auto/addons |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,2 @@ | ||
[options] | ||
; Normally Odoo should run behind a proxy | ||
proxy_mode = $PROXY_MODE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,2 @@ | ||
[options] | ||
; Prepared to link with https://hub.docker.com/r/tecnativa/postfix-relay | ||
smtp_server = $SMTP_SERVER |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,2 @@ | ||
[options] | ||
; Useful for testing, useless for production, disabled by default | ||
without_demo = $WITHOUT_DEMO |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,50 @@ | ||
#!/bin/bash | ||
set -ex | ||
#!/usr/bin/env python | ||
from __future__ import print_function | ||
import json | ||
import logging | ||
import os | ||
from datetime import datetime | ||
from glob import iglob | ||
|
||
build () { | ||
# See http://label-schema.org/rc1/#build-time-labels | ||
time docker build \ | ||
--build-arg VCS_REF="$GIT_SHA1" \ | ||
--build-arg BUILD_DATE="$(date --rfc-3339 ns)" \ | ||
"$@" . | ||
} | ||
import docker | ||
|
||
# Build requested tag, probably "latest" | ||
build --tag "$IMAGE_NAME" | ||
CLIENT = docker.client.from_env() | ||
DEFAULT_VERSION = "11.0" | ||
DOCKER_REPO = os.environ.get("DOCKER_REPO", "tecnativa/odoo-base") | ||
GIT_SHA1 = os.environ.get("GIT_SHA1", "") | ||
ODOO_VERSIONS = frozenset(os.environ.get( | ||
"ODOO_VERSIONS", "8.0 9.0 10.0 11.0").split()) | ||
|
||
if [ "$DOCKER_TAG" == latest ]; then | ||
# Build other tags, using cache to get it faster | ||
source hooks/variables | ||
docker tag "$IMAGE_NAME" "$DOCKER_REPO:$DEFAULT_VERSION" | ||
for ver in $OTHER_VERSIONS; do | ||
build --build-arg ODOO_VERSION="$ver" --tag "$DOCKER_REPO:$ver" | ||
done | ||
fi | ||
logging.basicConfig(level=logging.INFO) | ||
|
||
# Build version-specific images | ||
for dockerfile in iglob("*.Dockerfile"): | ||
version = dockerfile.replace(".Dockerfile", "") | ||
if version not in ODOO_VERSIONS: | ||
continue | ||
logging.info("Building image for version %s", version) | ||
# Low-level api for building images and streaming output | ||
response = CLIENT.api.build( | ||
path=".", | ||
dockerfile=dockerfile, | ||
tag=u"{}:{}".format(DOCKER_REPO, version), | ||
buildargs={ | ||
"BUILD_DATE": datetime.utcnow().isoformat(), | ||
"ODOO_VERSION": version, | ||
"VCS_REF": GIT_SHA1, | ||
} | ||
) | ||
status = None | ||
for line in response: | ||
line = json.loads(line) | ||
if line.get("status") not in {status, None}: | ||
status = line["status"] | ||
print(status) | ||
if line.get("stream"): | ||
print(line["stream"], end="") | ||
|
||
# Tag default version | ||
if DEFAULT_VERSION in ODOO_VERSIONS: | ||
logging.info("Tagging latest") | ||
image = CLIENT.images.get(u"{}:{}".format(DOCKER_REPO, DEFAULT_VERSION)) | ||
image.tag(DOCKER_REPO, "latest") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,18 @@ | ||
#!/bin/bash | ||
set -ex | ||
if [ "$DOCKER_TAG" == latest ]; then | ||
#!/usr/bin/env python | ||
import os | ||
from glob import iglob | ||
|
||
import docker | ||
|
||
DEFAULT_VERSION = "11.0" | ||
DOCKER_REPO = os.environ.get("DOCKER_REPO", "tecnativa/odoo-base") | ||
DOCKER_TAG = os.environ.get("DOCKER_TAG") | ||
IMAGE_NAME = os.environ.get("IMAGE_NAME", u"{}:{}") | ||
CLIENT = docker.client.from_env() | ||
|
||
if DOCKER_TAG == "latest": | ||
# Push other tags, that should have been built already | ||
source hooks/variables | ||
for ver in $DEFAULT_VERSION $OTHER_VERSIONS; do | ||
docker push "$DOCKER_REPO:$ver" | ||
done | ||
fi | ||
for image in CLIENT.images.list(DOCKER_REPO): | ||
for tag in image.tags: | ||
if tag != IMAGE_NAME: | ||
CLIENT.images.push(tag) |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,20 +16,14 @@ | |
|
||
logging.basicConfig(level=logging.DEBUG) | ||
|
||
# Common test utilities | ||
MAIN_SCAFFOLDING_VERSION = "10.0" | ||
DIR = dirname(__file__) | ||
SCAFFOLDINGS_DIR = join(DIR, "scaffoldings") | ||
ODOO_PREFIX = ("odoo", "--stop-after-init", "--workers=0") | ||
|
||
# Variable matrix | ||
ODOO_VERSIONS = frozenset(( | ||
"10.0", | ||
"9.0", | ||
"8.0", | ||
)) | ||
PG_VERSIONS = frozenset(( | ||
"9.6", | ||
)) | ||
ODOO_VERSIONS = frozenset(environ.get( | ||
"ODOO_VERSIONS", "8.0 9.0 10.0 11.0").split()) | ||
PG_VERSIONS = frozenset(environ.get( | ||
"PG_VERSIONS", "9.6").split()) | ||
SCAFFOLDINGS_DIR = join(DIR, "scaffoldings") | ||
|
||
|
||
def matrix(odoo=ODOO_VERSIONS, pg=PG_VERSIONS, | ||
|
@@ -43,8 +37,8 @@ def matrix(odoo=ODOO_VERSIONS, pg=PG_VERSIONS, | |
return map( | ||
dict, | ||
product( | ||
product(("ODOO_MINOR",), odoo ^ odoo_skip), | ||
product(("DB_VERSION",), pg ^ pg_skip), | ||
product(("ODOO_MINOR",), ODOO_VERSIONS & odoo - odoo_skip), | ||
product(("DB_VERSION",), PG_VERSIONS & pg - pg_skip), | ||
) | ||
) | ||
|
||
|
@@ -191,6 +185,9 @@ def test_dotd(self): | |
("--version",), | ||
) | ||
|
||
@unittest.skipUnless( | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. TIL this decorator |
||
MAIN_SCAFFOLDING_VERSION in ODOO_VERSIONS, | ||
"Main scaffolding version is not being tested") | ||
def test_main_scaffolding(self): | ||
"""Test the official scaffolding.""" | ||
with tempfile.TemporaryDirectory() as tmpdirname: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
FROM tecnativa/odoo-base:11.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
FROM tecnativa/odoo-base:11.0 |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoah. We gained something GPG in Odoo 11?!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, it's just required to install node + npm below. It seems debian 9 doesn't bundle npm.