Added Docker Testing Environment (#631)

This commit is contained in:
Chris Caron 2022-07-15 16:40:27 -04:00 committed by GitHub
parent 37411f3c75
commit d88bc9e287
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 92 additions and 0 deletions

3
.env Normal file
View File

@ -0,0 +1,3 @@
LANG=C.UTF-8
PYTHONPATH=.
PYTHONDONTWRITEBYTECODE=1

14
Dockerfile.py27 Normal file
View File

@ -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

16
Dockerfile.py310 Normal file
View File

@ -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

16
Dockerfile.py35 Normal file
View File

@ -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

43
docker-compose.yml Normal file
View File

@ -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