diff options
author | Iwan Aucamp <aucampia@gmail.com> | 2022-04-30 23:14:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-30 23:14:26 +0200 |
commit | 39e0d4b2b9f17fca052d2f430c93d8a22422363a (patch) | |
tree | 1519ad7e1398f181111edb09543ed7dd7bdc062d /Dockerfile.devcontainer | |
parent | ab5d55428a66fefd08ccdad0bf4186fb1b7802dd (diff) | |
download | rdflib-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.devcontainer | 72 |
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 |