diff --git a/.env b/.env new file mode 100644 index 00000000..1660fff8 --- /dev/null +++ b/.env @@ -0,0 +1,3 @@ +LANG=C.UTF-8 +PYTHONPATH=. +PYTHONDONTWRITEBYTECODE=1 diff --git a/Dockerfile.py27 b/Dockerfile.py27 new file mode 100644 index 00000000..f9758239 --- /dev/null +++ b/Dockerfile.py27 @@ -0,0 +1,14 @@ +# Base +FROM python:2.7-buster +RUN apt-get update && \ + apt-get install -y libdbus-1-dev build-essential musl-dev bash +RUN pip install dbus-python + +# Apprise Setup +COPY . /apprise +ENV PYTHONPATH /apprise +WORKDIR /apprise +RUN pip install -r requirements.txt -r dev-requirements.txt + +# Catalog Construction and Wheel Building +RUN python setup.py compile_catalog bdist_wheel diff --git a/Dockerfile.py310 b/Dockerfile.py310 new file mode 100644 index 00000000..ccfce8b4 --- /dev/null +++ b/Dockerfile.py310 @@ -0,0 +1,16 @@ +# Base +FROM python:3.10-buster +RUN apt-get update && \ + apt-get install -y libdbus-1-dev build-essential musl-dev bash +RUN pip install dbus-python + +# Apprise Setup +VOLUME ["/apprise"] +WORKDIR /apprise +COPY requirements.txt / +COPY dev-requirements.txt / +ENV PYTHONPATH /apprise +ENV PYTHONPYCACHEPREFIX /apprise/__pycache__/py310 + + +RUN pip install -r /requirements.txt -r /dev-requirements.txt diff --git a/Dockerfile.py35 b/Dockerfile.py35 new file mode 100644 index 00000000..9451a2b7 --- /dev/null +++ b/Dockerfile.py35 @@ -0,0 +1,16 @@ +# Base +FROM python:3.5-buster +RUN apt-get update && \ + apt-get install -y libdbus-1-dev build-essential musl-dev bash +RUN pip install dbus-python + +# Apprise Setup +VOLUME ["/apprise"] +WORKDIR /apprise +COPY requirements.txt / +COPY dev-requirements.txt / +ENV PYTHONPATH /apprise +ENV PYTHONPYCACHEPREFIX /apprise/__pycache__/py35 + + +RUN pip install -r /requirements.txt -r /dev-requirements.txt diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..c0c29bd5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,43 @@ +version: "3.3" +services: + test.py27: + build: + context: . + dockerfile: Dockerfile.py27 + volumes: + - ./:/apprise + + test.py35: + build: + context: . + dockerfile: Dockerfile.py35 + volumes: + - ./:/apprise + + test.py310: + build: + context: . + dockerfile: Dockerfile.py310 + volumes: + - ./:/apprise + +# Connect to web and create a new project using the manage script +# -> docker-compose run --rm test.py27 bash +# bin/apprise - +# bin/checkdone.sh +# +# Run a set of tests for just a certain section +# docker-compose run --rm test.py27 bin/test.sh fcm +# +# Or just run all the tsts in python 2.7 +# docker-compose run --rm test.py27 bin/test.sh +# +# Want to run the whole test suite: +# +# [ -f .coverage ] && rm -f .coverage +# docker-compose run --rm test.py27 coverage run --append -m pytest -vv +# docker-compose run --rm test.py35 coverage run --append -m pytest -vv +# docker-compose run --rm test.py310 coverage run --append -m pytest -vv +# +# # Now produce a report +# docker-compose run --rm test.py310 coverage report --show-missing