ci: use cache/virtualenv for test dependencies

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2022-08-23 00:07:40 -07:00
parent 57c0409958
commit fbb3e052fe
No known key found for this signature in database
GPG key ID: F7E46DED420788F3
4 changed files with 10 additions and 6 deletions

View file

@ -4,6 +4,7 @@ cache:
paths:
# For some reason Gitlab CI only supports storing cache/artifacts in a path relative to the build directory
- .pkg-cache
- .venv
variables:
AUR_CONFIG: conf/config # Default MySQL config setup in before_script.
@ -31,6 +32,8 @@ test:
before_script:
- export PATH="$HOME/.poetry/bin:${PATH}"
- ./docker/scripts/install-deps.sh
- virtualenv -p python3 .venv
- source .venv/bin/activate # Enable our virtualenv cache
- ./docker/scripts/install-python-deps.sh
- useradd -U -d /aurweb -c 'AUR User' aur
- ./docker/mariadb-entrypoint.sh

View file

@ -6,6 +6,7 @@ VOLUME /root/.cache/pypoetry/artifacts
ENV PATH="/root/.poetry/bin:${PATH}"
ENV PYTHONPATH=/aurweb
ENV AUR_CONFIG=conf/config
ENV COMPOSE=1
# Install system-wide dependencies.
COPY ./docker/scripts/install-deps.sh /install-deps.sh
@ -27,7 +28,7 @@ RUN cp -vf conf/config.dev conf/config
RUN sed -i "s;YOUR_AUR_ROOT;/aurweb;g" conf/config
# Install Python dependencies.
RUN /docker/scripts/install-python-deps.sh
RUN /docker/scripts/install-python-deps.sh compose
# Compile asciidocs.
RUN make -C doc

View file

@ -17,6 +17,7 @@ pacman -Syu --noconfirm --noprogressbar \
mariadb mariadb-libs cgit-aurweb uwsgi uwsgi-plugin-cgi \
php php-fpm memcached php-memcached python-pip pyalpm \
python-srcinfo curl libeatmydata cronie python-poetry \
python-poetry-core step-cli step-ca asciidoc
python-poetry-core step-cli step-ca asciidoc \
python-virtualenv
exec "$@"

View file

@ -4,8 +4,7 @@ set -eou pipefail
# Upgrade PIP; Arch Linux's version of pip is outdated for Poetry.
pip install --upgrade pip
# Install the aurweb package and deps system-wide via poetry.
if [ ! -z "${COMPOSE+x}" ]; then
poetry config virtualenvs.create false
fi
poetry install --no-interaction --no-ansi
exec "$@"