add Dockerfile

This docker file downloads deps, sets up some things beforehand and
finishes with running our entire collection of tests.

Signed-off-by: Kevin Morris <kevr@0cost.org>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
Kevin Morris 2020-12-23 16:11:40 -08:00
parent 52ab056e18
commit cd3e880264

30
Dockerfile Normal file
View file

@ -0,0 +1,30 @@
FROM archlinux
COPY . /aurweb
WORKDIR /aurweb
# Install dependencies.
RUN pacman -Syu --noconfirm base-devel git gpgme protobuf pyalpm \
python-mysql-connector python-pygit2 python-srcinfo python-bleach \
python-markdown python-sqlalchemy python-alembic python-pytest \
python-werkzeug python-pytest-tap python-fastapi nginx python-authlib \
python-itsdangerous python-httpx python-jinja python-pytest-cov \
python-requests python-aiofiles python-python-multipart \
python-pytest-asyncio python-coverage hypercorn
# Remove aurweb.sqlite3 if it was copied over via COPY.
RUN rm -fv aurweb.sqlite3
# Setup our test config.
RUN sed -r "s;YOUR_AUR_ROOT;/aurweb;g" conf/config.dev > conf/config
# Install translations.
RUN AUR_CONFIG=conf/config make -C po all install
# Initialize the database.
RUN AUR_CONFIG=conf/config python -m aurweb.initdb
# Test everything!
RUN make -C test
# Produce a coverage report.
RUN coverage report --include='aurweb/*'