Skip to content

Commit c28edad

Browse files
Merge pull request #25 from akretion/add-full-image
Add 17.0, 18.0 full version
2 parents ff93e13 + 3c803a8 commit c28edad

8 files changed

+315
-0
lines changed

.github/workflows/ci.yml

+2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ jobs:
1818
- ODOOVERSION: "15.0"
1919
- ODOOVERSION: "16.0"
2020
- ODOOVERSION: "16.0-light"
21+
- ODOOVERSION: "17.0"
2122
- ODOOVERSION: "17.0-light"
23+
- ODOOVERSION: "18.0"
2224
- ODOOVERSION: "18.0-light"
2325
steps:
2426
- uses: actions/checkout@v2

17.0/Dockerfile

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# python 3.10 is the default used in acsone
2+
FROM ghcr.io/acsone/odoo-bedrock:17.0-py311-jammy-latest
3+
ARG PYTHONBIN=python3.11
4+
MAINTAINER Akretion
5+
6+
# syntax = docker/dockerfile:1.4
7+
8+
# List from https://github.com/camptocamp/docker-odoo-project/blob/master/16.0/Dockerfile
9+
ENV BUILD_PACKAGE \
10+
build-essential \
11+
gcc \
12+
${PYTHONBIN}-dev \
13+
libevent-dev \
14+
libfreetype6-dev \
15+
libxml2-dev \
16+
libxslt1-dev \
17+
libsasl2-dev \
18+
libldap2-dev \
19+
libssl-dev \
20+
libjpeg-dev \
21+
libpng-dev \
22+
zlib1g-dev \
23+
git \
24+
# Additionnal dep from Ak
25+
#vim \
26+
po4a \
27+
postgresql-client \
28+
libpq-dev \
29+
libmupdf-dev \
30+
mupdf-tools \
31+
mupdf \
32+
expect
33+
34+
# recreate isolate env
35+
RUN set -x \
36+
&& rm -rf /odoo/bin \
37+
&& ${PYTHONBIN} -m venv /env \
38+
&& /env/bin/pip install -U pip wheel setuptools
39+
ENV PATH=/env/bin:$PATH
40+
41+
RUN --mount=type=cache,target=/var/cache/apt \
42+
apt-get update \
43+
&& apt-get install -y --no-install-recommends $BUILD_PACKAGE
44+
45+
COPY 17.0/base_requirements.txt /tmp/base_requirements.txt
46+
RUN pip install --no-cache-dir -r /tmp/base_requirements.txt
47+
48+
COPY 17.0/ak_requirements.txt /tmp/ak_requirements.txt
49+
RUN pip install --no-cache-dir -r /tmp/ak_requirements.txt
50+
51+
ENV ADDONS_PATH=/odoo/src/addons,/odoo/local-src,/odoo/links
52+
53+
COPY install/* /install/
54+
RUN --mount=type=cache,target=/root/.cache /install/install_tool && rm /install/install_tool
55+
56+
COPY install/repos.yaml /root/.config/git-autoshare/repos.yml
57+
COPY bin/* /usr/local/bin/
58+
59+
60+
# customize entrypoint
61+
62+
ENTRYPOINT ["/usr/local/bin/ak-entrypoint.sh"]
63+
CMD ["odoo"]

17.0/ak_requirements.txt

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
click-odoo-contrib>=1.16.0
2+
#sentry_sdk>=1.9.9
3+
git+https://github.com/oca/openupgradelib.git@master
4+
odoo_test_helper==2.0.2

17.0/base_requirements.txt

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
Babel==2.10.3 ; python_version >= '3.11'
2+
chardet==5.2.0 ; python_version >= '3.11'
3+
cryptography==42.0.8 ; python_version >= '3.12' # (Noble) min 41.0.7, pinning 42.0.8 for security fixes
4+
decorator==5.1.1 ; python_version >= '3.11'
5+
docutils==0.20.1 ; python_version >= '3.11'
6+
ebaysdk==2.1.5
7+
freezegun==1.2.1 ; python_version >= '3.11'
8+
geoip2==2.9.0
9+
gevent==24.2.1 ; sys_platform != 'win32' and python_version >= '3.12' # (Noble)
10+
greenlet==3.0.3 ; sys_platform != 'win32' and python_version >= '3.12' # (Noble)
11+
idna==3.6 ; python_version >= '3.12'
12+
Jinja2==3.1.2 ; python_version > '3.10'
13+
libsass==0.22.0 ; python_version >= '3.11' # (Noble) Mostly to have a wheel package
14+
lxml==5.2.1; python_version >= '3.12' # (Noble - removed html clean)
15+
lxml-html-clean; python_version >= '3.12' # (Noble - removed from lxml, unpinned for futur security patches)
16+
MarkupSafe==2.1.5 ; python_version >= '3.12' # (Noble) Mostly to have a wheel package
17+
num2words==0.5.13 ; python_version >= '3.12'
18+
ofxparse==0.21
19+
passlib==1.7.4 # min version = 1.7.2 (Focal with security backports)
20+
Pillow==10.2.0 ; python_version >= '3.12' # (Noble) Mostly to have a wheel package
21+
polib==1.1.1
22+
psutil==5.9.8 ; python_version >= '3.12' # (Noble) Mostly to have a wheel package
23+
psycopg2==2.9.9 ; python_version >= '3.12' # (Noble) Mostly to have a wheel package
24+
pydot==1.4.2
25+
pyopenssl==24.1.0 ; python_version >= '3.12' # (Noble) min 23.2.0, pinned for compatibility with cryptography==42.0.8 and security patches
26+
PyPDF2==2.12.1 ; python_version > '3.10'
27+
pyserial==3.5
28+
python-dateutil==2.8.2 ; python_version >= '3.11'
29+
python-ldap==3.4.4 ; sys_platform != 'win32' and python_version >= '3.12' # (Noble) Mostly to have a wheel package
30+
python-stdnum==1.19 ; python_version >= '3.11'
31+
pytz # no version pinning to avoid OS perturbations
32+
pyusb==1.2.1
33+
qrcode==7.4.2 ; python_version >= '3.11'
34+
reportlab==4.1.0 ; python_version >= '3.12' # (Noble) Mostly to have a wheel package
35+
requests==2.31.0 ; python_version >= '3.11' # (Noble)
36+
rjsmin==1.2.0 ; python_version >= '3.11'
37+
rl-renderPM==4.0.3 ; sys_platform == 'win32' and python_version >= '3.12' # Needed by reportlab 4.1.0 but included in deb package
38+
urllib3==2.0.7 ; python_version >= '3.12' # (Noble) Compatibility with cryptography
39+
vobject==0.9.6.1
40+
Werkzeug==3.0.1 ; python_version >= '3.12' # (Noble) Avoid deprecation warnings
41+
xlrd==2.0.1 ; python_version >= '3.12'
42+
XlsxWriter==3.1.9 ; python_version >= '3.12'
43+
xlwt==1.3.0
44+
zeep==4.2.1 ; python_version >= '3.11'
45+
setuptools==73.0.1
46+
47+
# Not part of official requirements, but used by some addons
48+
# colorama==0.3.9
49+
gdata==2.0.18
50+
html5lib==1.1
51+
odfpy==1.4.1
52+
pyinotify==0.9.6
53+
simplejson==3.19.3
54+
55+
56+
# test / lint
57+
# those libs and their dependencies are unpinned
58+
# to always test with the last version of it
59+
flake8
60+
pytest==8.3.2
61+
pluggy
62+
coverage
63+
pytest-odoo>=0.4.7
64+
pytest-cov>=2.10.0
65+
watchdog
66+
67+
# Library dependency
68+
argh==0.31.3
69+
atomicwrites==1.4.1
70+
attrs==24.2.0
71+
beautifulsoup4==4.12.3
72+
future==1.0.0
73+
mccabe==0.7.0
74+
more-itertools==10.4.0
75+
pbr==6.0.0
76+
pexpect==4.9.0
77+
ptyprocess==0.7.0
78+
py==1.11.0
79+
pycodestyle==2.12.1
80+
pyflakes==3.2.0
81+
unicodecsv==0.14.1
82+
wrapt==1.16.0

18.0/Dockerfile

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# python 3.10 is the default used in acsone
2+
FROM ghcr.io/acsone/odoo-bedrock:18.0-py312-noble-latest
3+
ARG PYTHONBIN=python3.12
4+
MAINTAINER Akretion
5+
6+
# syntax = docker/dockerfile:1.4
7+
8+
# List from https://github.com/camptocamp/docker-odoo-project/blob/master/16.0/Dockerfile
9+
ENV BUILD_PACKAGE \
10+
build-essential \
11+
gcc \
12+
${PYTHONBIN}-dev \
13+
libevent-dev \
14+
libfreetype6-dev \
15+
libxml2-dev \
16+
libxslt1-dev \
17+
libsasl2-dev \
18+
libldap2-dev \
19+
libssl-dev \
20+
libjpeg-dev \
21+
libpng-dev \
22+
zlib1g-dev \
23+
git \
24+
# Additionnal dep from Ak
25+
#vim \
26+
po4a \
27+
postgresql-client \
28+
libpq-dev \
29+
libmupdf-dev \
30+
mupdf-tools \
31+
mupdf \
32+
expect
33+
34+
# recreate isolate env
35+
RUN set -x \
36+
&& rm -rf /odoo/bin \
37+
&& ${PYTHONBIN} -m venv /env \
38+
&& /env/bin/pip install -U pip wheel setuptools
39+
ENV PATH=/env/bin:$PATH
40+
41+
RUN --mount=type=cache,target=/var/cache/apt \
42+
apt-get update \
43+
&& apt-get install -y --no-install-recommends $BUILD_PACKAGE
44+
45+
COPY 18.0/base_requirements.txt /tmp/base_requirements.txt
46+
RUN pip install --no-cache-dir -r /tmp/base_requirements.txt
47+
48+
COPY 18.0/ak_requirements.txt /tmp/ak_requirements.txt
49+
RUN pip install --no-cache-dir -r /tmp/ak_requirements.txt
50+
51+
ENV ADDONS_PATH=/odoo/src/addons,/odoo/local-src,/odoo/links
52+
53+
COPY install/* /install/
54+
RUN --mount=type=cache,target=/root/.cache /install/install_tool && rm /install/install_tool
55+
56+
COPY install/repos.yaml /root/.config/git-autoshare/repos.yml
57+
COPY bin/* /usr/local/bin/
58+
59+
60+
# customize entrypoint
61+
62+
ENTRYPOINT ["/usr/local/bin/ak-entrypoint.sh"]
63+
CMD ["odoo"]

18.0/ak_requirements.txt

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
click-odoo-contrib>=1.16.0
2+
#sentry_sdk>=1.9.9
3+
git+https://github.com/oca/openupgradelib.git@master
4+
odoo_test_helper==2.0.2

18.0/base_requirements.txt

+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# The officially supported versions of the following packages are their
2+
# python3-* equivalent distributed in Ubuntu 24.04 and Debian 12
3+
asn1crypto==1.5.1 ; python_version >= '3.11'
4+
Babel==2.10.3 ; python_version >= '3.11'
5+
cbor2==5.6.2 ; python_version >= '3.12'
6+
chardet==5.2.0 ; python_version >= '3.11'
7+
cryptography==42.0.8 ; python_version >= '3.12' # (Noble) min 41.0.7, pinning 42.0.8 for security fixes
8+
decorator==5.1.1 ; python_version >= '3.11'
9+
docutils==0.20.1 ; python_version >= '3.11'
10+
freezegun==1.2.1 ; python_version >= '3.11'
11+
geoip2==2.9.0
12+
gevent==24.2.1 ; sys_platform != 'win32' and python_version >= '3.12' # (Noble)
13+
greenlet==3.0.3 ; sys_platform != 'win32' and python_version >= '3.12' # (Noble)
14+
idna==3.7 ; python_version >= '3.12'
15+
Jinja2==3.1.3 ; python_version > '3.10'
16+
libsass==0.22.0 ; python_version >= '3.11' # (Noble) Mostly to have a wheel package
17+
lxml==5.2.1; python_version >= '3.12' # (Noble - removed html clean)
18+
lxml-html-clean; python_version >= '3.12' # (Noble - removed from lxml, unpinned for futur security patches)
19+
MarkupSafe==2.1.5 ; python_version >= '3.12' # (Noble) Mostly to have a wheel package
20+
num2words==0.5.13 ; python_version >= '3.12'
21+
ofxparse==0.21
22+
openpyxl==3.1.2 ; python_version >= '3.12'
23+
passlib==1.7.4 # min version = 1.7.2 (Focal with security backports)
24+
Pillow==10.3.0 ; python_version >= '3.12' # (Noble) Mostly to have a wheel package
25+
polib==1.1.1
26+
psutil==5.9.4 ; python_version > '3.10' and python_version < '3.12'
27+
psutil==5.9.8 ; python_version >= '3.12' # (Noble) Mostly to have a wheel package
28+
psycopg2==2.9.9 ; python_version >= '3.12' # (Noble) Mostly to have a wheel package
29+
pyopenssl==24.1.0 ; python_version >= '3.12' # (Noble) min 23.2.0, pinned for compatibility with cryptography==42.0.8 and security patches
30+
PyPDF2==2.12.1 ; python_version > '3.10'
31+
pyserial==3.5
32+
python-dateutil==2.8.2 ; python_version >= '3.11'
33+
python-ldap==3.4.4 ; sys_platform != 'win32' and python_version >= '3.12' # (Noble) Mostly to have a wheel package
34+
python-stdnum==1.19 ; python_version >= '3.11'
35+
pytz # no version pinning to avoid OS perturbations
36+
pyusb==1.2.1
37+
qrcode==7.4.2 ; python_version >= '3.11'
38+
reportlab==4.1.0 ; python_version >= '3.12' # (Noble) Mostly to have a wheel package
39+
requests==2.32.0 ; python_version >= '3.11' # (Noble)
40+
rjsmin==1.2.0 ; python_version >= '3.11'
41+
urllib3==2.0.7 ; python_version >= '3.12' # (Noble) Compatibility with cryptography
42+
vobject==0.9.6.1
43+
Werkzeug==3.0.3 ; python_version >= '3.12' # (Noble) Avoid deprecation warnings
44+
xlrd==2.0.1 ; python_version >= '3.12'
45+
XlsxWriter==3.1.9 ; python_version >= '3.12'
46+
xlwt==1.3.0
47+
zeep==4.2.1 ; python_version >= '3.11'
48+
49+
50+
51+
52+
53+
54+
setuptools==73.0.1
55+
56+
# Not part of official requirements, but used by some addons
57+
# colorama==0.3.9
58+
gdata==2.0.18
59+
html5lib==1.1
60+
odfpy==1.4.1
61+
pyinotify==0.9.6
62+
simplejson==3.19.3
63+
64+
65+
# test / lint
66+
# those libs and their dependencies are unpinned
67+
# to always test with the last version of it
68+
flake8
69+
pytest==8.3.2
70+
pluggy
71+
coverage
72+
pytest-odoo>=0.4.7
73+
pytest-cov>=2.10.0
74+
watchdog
75+
76+
# Library dependency
77+
argh==0.31.3
78+
atomicwrites==1.4.1
79+
attrs==24.2.0
80+
beautifulsoup4==4.12.3
81+
future==1.0.0
82+
mccabe==0.7.0
83+
more-itertools==10.4.0
84+
pbr==6.0.0
85+
pexpect==4.9.0
86+
ptyprocess==0.7.0
87+
py==1.11.0
88+
pycodestyle==2.12.1
89+
pyflakes==3.2.0
90+
unicodecsv==0.14.1
91+
wrapt==1.16.0

update_base_requirement

+6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
#!/bin/bash
22
set -Eeuo pipefail
33

4+
rm -rf 18.0/base_requirements.txt
5+
wget https://raw.githubusercontent.com/camptocamp/docker-odoo-project/master/18.0/base_requirements.txt -O 18.0/base_requirements.txt
6+
7+
rm -rf 17.0/base_requirements.txt
8+
wget https://raw.githubusercontent.com/camptocamp/docker-odoo-project/master/17.0/base_requirements.txt -O 17.0/base_requirements.txt
9+
410
rm -rf 16.0/base_requirements.txt
511
wget https://raw.githubusercontent.com/camptocamp/docker-odoo-project/master/16.0/base_requirements.txt -O 16.0/base_requirements.txt
612

0 commit comments

Comments
 (0)