diff --git a/.travis.yml b/.travis.yml
index 646eedd..7234d0c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,7 +13,6 @@ cache:
- pip
notifications:
email: false
-sudo: required
services:
- docker
install:
@@ -37,7 +36,6 @@ branches:
- /release-v[0-9]+/
deploy:
provider: script
- skip_cleanup: true
script: python setup.py deploy_docker_bases
on:
branch: master
diff --git a/arca/__init__.py b/arca/__init__.py
index c514865..c84afde 100644
--- a/arca/__init__.py
+++ b/arca/__init__.py
@@ -6,4 +6,4 @@
__all__ = ["Arca", "BaseBackend", "VenvBackend", "DockerBackend", "Result", "Task", "CurrentEnvironmentBackend",
"VagrantBackend"]
-__version__ = "0.3.3"
+__version__ = "0.4.0"
diff --git a/arca/backend/docker.py b/arca/backend/docker.py
index 7b00ee0..1ea1b71 100644
--- a/arca/backend/docker.py
+++ b/arca/backend/docker.py
@@ -305,15 +305,17 @@ def get_or_build_image(self, name: str, tag: str, dockerfile: Union[str, Callabl
dockerfile_file.unlink()
except docker.errors.BuildError as e:
+ build_log = []
for line in e.build_log:
if isinstance(line, dict) and line.get("errorDetail") and line["errorDetail"].get("code") in {124, 143}:
raise BuildTimeoutError(f"Installing of requirements timeouted after "
f"{self.requirements_timeout} seconds.")
+ build_log.append(line)
logger.exception(e)
raise BuildError("Building docker image failed, see extra info for details.", extra_info={
- "build_log": e.build_log
+ "build_log": build_log
})
def get_arca_base(self, pull=True):
@@ -326,11 +328,11 @@ def get_arca_base(self, pull=True):
pyenv_installer = "https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer"
dockerfile = f"""
- FROM debian:stretch-slim
+ FROM debian:bullseye-slim
RUN apt-get update && \
apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
- xz-utils tk-dev libffi-dev git locales && \
+ xz-utils tk-dev libffi-dev git locales libxml2-dev libxmlsec1-dev liblzma-dev && \
apt-get clean
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
@@ -349,6 +351,7 @@ def get_arca_base(self, pull=True):
rm ~/pyenv-installer && \
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> /home/arca/.bash_profile && \
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /home/arca/.bash_profile && \
+ echo 'eval "$(pyenv init --path)"' >> /home/arca/.bash_profile && \
echo 'eval "$(pyenv init -)"' >> /home/arca/.bash_profile
USER root
@@ -383,7 +386,6 @@ def get_dockerfile():
RUN pyenv update && \
pyenv install {python_version}
ENV PYENV_VERSION {python_version}
- ENV PATH "/home/arca/.pyenv/shims:$PATH"
RUN pip install --upgrade pip setuptools pipenv
CMD bash -i
"""
diff --git a/docs/backends.rst b/docs/backends.rst
index 08e665b..2d6034f 100644
--- a/docs/backends.rst
+++ b/docs/backends.rst
@@ -85,7 +85,7 @@ with ``docker`` (see `documentation `_, which have Python
and several build tools pre-installed.
-These images are based on ``debian`` (slim ``stretch`` version) and use `pyenv `_
+These images are based on ``debian`` (slim ``bullseye`` version) and use `pyenv `_
to install Python.
You can specify you want to base your images on a different image with the ``inherit_image`` setting.
diff --git a/setup.py b/setup.py
index cf910d6..e6cacc7 100644
--- a/setup.py
+++ b/setup.py
@@ -20,7 +20,7 @@ def long_description():
setup(
name="arca",
- version="0.3.3",
+ version="0.4.0",
author="Mikuláš Poul",
author_email="mikulaspoul@gmail.com",
description="A library for running Python functions (callables) from git repositories "