mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
This commit adds a new Arch dependency: `libeatmydata`, which provides the `eatmydata` executable that stubs out fsync() operations. We use `eatmydata` to run our sharness and pytests in Docker now. With `autocommit=True`, required by SQLAlchemy to keep the session up to date with external DB modifications, many fsync calls are used in the SQLite backend; especially because we're wiping and creating records in every DB-bound test. **Before:** - mysql: 1m42s (elapsed during pytest run) - sqlite: 3m06s (elapsed during pytest run) **After:** - mysql: 1m40s (elapsed during pytest run) - sqlite: 1m50s (elapsed during pytest run) Shout out to @klausenbusk, who suggested this as a possible fix, and it was. Thanks, Kristian! Closes #120 Signed-off-by: Kevin Morris <kevr@0cost.org>
16 lines
607 B
Bash
Executable file
16 lines
607 B
Bash
Executable file
#!/bin/bash
|
|
# Install Arch Linux dependencies. This is centralized here
|
|
# for CI and Docker usage and should always reflect the most
|
|
# robust development ecosystem.
|
|
set -eou pipefail
|
|
|
|
pacman -Syu --noconfirm --noprogressbar \
|
|
--cachedir .pkg-cache git gpgme nginx redis openssh \
|
|
mariadb mariadb-libs cgit uwsgi uwsgi-plugin-cgi \
|
|
php php-fpm memcached php-memcached python-pip pyalpm \
|
|
python-srcinfo curl libeatmydata
|
|
|
|
# https://python-poetry.org/docs/ Installation section.
|
|
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
|
|
|
exec "$@"
|