summaryrefslogtreecommitdiff
path: root/Dockerfile.devcontainer
diff options
context:
space:
mode:
authorIwan Aucamp <aucampia@gmail.com>2022-04-30 23:14:26 +0200
committerGitHub <noreply@github.com>2022-04-30 23:14:26 +0200
commit39e0d4b2b9f17fca052d2f430c93d8a22422363a (patch)
tree1519ad7e1398f181111edb09543ed7dd7bdc062d /Dockerfile.devcontainer
parentab5d55428a66fefd08ccdad0bf4186fb1b7802dd (diff)
downloadrdflib-39e0d4b2b9f17fca052d2f430c93d8a22422363a.tar.gz
build: add Taskfile with development tasks (#1867)
Added Taskfile with development tasks This patch adds a Taskfile with various tasks that is useful for RDFLib development. Details of the available tasks can be seen from `task help` output and some more information is included in the RDFLib developers guide. For more information about Taskfiles see https://taskfile.dev/#/usage. The GitHub action pipeline was also changed to now use tasks from the Taskfile which simplifies the pipeline quite a bit. This patch also adds development container which can be used to run various development task and which can also be used with development container enabled tools such as VSCode or GitHub codespaces. This is all being done in preperation for moving coveralls reporting to the GitHub actions workflow. Other changes: - Removed the `Makefile` and associated `test/Dockerfile` as it is now replaced by a `Taskfile.yml`.
Diffstat (limited to 'Dockerfile.devcontainer')
-rw-r--r--Dockerfile.devcontainer72
1 files changed, 72 insertions, 0 deletions
diff --git a/Dockerfile.devcontainer b/Dockerfile.devcontainer
new file mode 100644
index 00000000..f10881c9
--- /dev/null
+++ b/Dockerfile.devcontainer
@@ -0,0 +1,72 @@
+FROM mcr.microsoft.com/vscode/devcontainers/base:ubuntu-22.04
+
+ENV DEBIAN_FRONTEND="noninteractive" TZ="Etc/UTC"
+
+RUN \
+ apt-get update && \
+ apt-get install -y \
+ make \
+ curl \
+ git \
+ build-essential \
+ && \
+ true
+
+RUN \
+ apt-get install -y \
+ libdb-dev \
+ libjpeg-dev \
+ && \
+ true
+
+RUN \
+ apt-get install -y \
+ default-jdk \
+ && \
+ true
+
+RUN \
+ apt-get install -y \
+ software-properties-common \
+ && \
+ add-apt-repository ppa:deadsnakes/ppa && \
+ apt-get install -y \
+ python3 \
+ python3-pip \
+ python3-dev \
+ python3-venv \
+ python3.7 \
+ python3.7-dev \
+ python3.7-venv \
+ python3.8 \
+ python3.8-dev \
+ python3.8-venv \
+ python3.9 \
+ python3.9-dev \
+ python3.9-venv \
+ python3.10 \
+ python3.10-dev \
+ python3.10-venv \
+ python3.11 \
+ python3.11-dev \
+ python3.11-venv \
+ python-is-python3 \
+ && \
+ python --version && \
+ true
+
+RUN sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin
+
+COPY requirements.txt requirements.dev.txt requirements.dev-extra.txt /var/tmp/
+COPY docs/sphinx-requirements.txt /var/tmp/docs/sphinx-requirements.txt
+
+RUN \
+ cd /var/tmp/ && \
+ python -m pip install --upgrade \
+ -r requirements.txt \
+ -r requirements.dev.txt \
+ -r requirements.dev-extra.txt \
+ -r docs/sphinx-requirements.txt \
+ tox \
+ && \
+ true