Hosting platform for the Arch User Repository (AUR), a collection of packaging scripts created by the Arch Linux community
Find a file
Kevin Morris fa43f6bc3e
change(aurweb): add parallel tests and improve aurweb.db
This change utilizes pytest-xdist to perform a multiproc test
run and reworks aurweb.db's code. We no longer use a global
engine, session or Session, but we now use a memo of engines
and sessions as they are requested, based on the PYTEST_CURRENT_TEST
environment variable, which is available during testing.

Additionally, this change strips several SQLite components
out of the Python code-base.

SQLite is still compatible with PHP and sharness tests, but
not with our FastAPI implementation.

More changes:
------------
- Remove use of aurweb.db.session global in other code.
- Use new aurweb.db.name() dynamic db name function in env.py.
- Added 'addopts' to pytest.ini which utilizes multiprocessing.
    - Highly recommended to leave this be or modify `-n auto` to
      `-n {cpu_threads}` where cpu_threads is at least 2.

Signed-off-by: Kevin Morris <kevr@0cost.org>
2021-11-17 01:34:59 -08:00
.gitlab/issue_templates add labels to gitlab issue templates 2021-11-11 16:50:16 -08:00
.tx Rename translation resources from aur to aurweb 2018-07-07 16:05:12 +02:00
aurweb change(aurweb): add parallel tests and improve aurweb.db 2021-11-17 01:34:59 -08:00
cache Improve Docker ecosystem 2021-06-24 19:02:35 -07:00
conf feat(docker): host gzip archive downloads 2021-11-10 07:39:23 -08:00
doc feat(mkpkglists): added metadata archives 2021-11-09 02:07:04 -08:00
docker fix(docker): fix cgit css config 2021-11-14 23:41:42 -08:00
examples feat(rpc): support jsonp callbacks 2021-10-31 00:29:19 -07:00
LICENSES feat(fastapi): add prometheus /metrics 2021-11-01 11:41:39 -07:00
logs Docker: add [c]git, nginx, fastapi, php-fpm, ca 2021-06-24 19:02:35 -07:00
migrations change(aurweb): add parallel tests and improve aurweb.db 2021-11-17 01:34:59 -08:00
po Merge branch 'feat-csrf-login-check' into pu 2021-11-15 12:00:07 -08:00
schema Added ability to specify fortune file via an environment variable 2021-09-05 16:13:45 -05:00
templates fix(fastapi): use NumVotes for votes field in package details 2021-11-12 17:39:26 -08:00
test change(aurweb): add parallel tests and improve aurweb.db 2021-11-17 01:34:59 -08:00
upgrading Add new upgrade instructions 2020-03-27 08:49:34 -04:00
util fix: initialize engine and session in util/adduser.py 2021-11-15 00:01:13 -08:00
web fix(mkpkglists): improve package meta archive 2021-11-09 02:06:50 -08:00
.coveragerc Support SQLAlchemy 1.4 URL.create recommendation 2021-06-05 19:52:56 -07:00
.dockerignore .dockerignore: ignore user-produced configs 2021-07-27 20:38:59 -07:00
.editorconfig add https://EditorConfig.org setup to ensure consistent style 2021-04-28 18:06:06 -04:00
.env feat(docker): configure fastapi's commit_hash based on $COMMIT_HASH 2021-10-28 08:19:20 -07:00
.gitignore change(gitignore): add various exclusions 2021-10-16 15:08:42 -07:00
.gitlab-ci.yml fix(gitlab-ci): add docker dep to deploy target 2021-10-31 16:13:01 -07:00
.mailmap Update maintainer email address 2015-04-11 12:48:15 +02:00
.pre-commit-config.yaml pre-commit: add initial config 2021-02-20 11:24:30 -05:00
alembic.ini Set up Alembic for database migrations 2020-02-27 16:44:36 +01:00
AUTHORS AUTHORS: Add date ranges to current maintainers 2015-09-29 20:51:03 +02:00
cliff.toml feat: add git-cliff configuration 2021-10-19 09:28:14 -07:00
CONTRIBUTING.md Merge branch 'master' into pu 2021-06-25 19:03:29 -07:00
COPYING added GPL2 as our license 2007-09-09 01:31:34 +00:00
docker-compose.aur-dev.yml feat(docker): use PROMETHEUS_MULTIPROC_DIR 2021-11-01 12:27:33 -07:00
docker-compose.override.yml fix(docker): restore mariadb service 2021-10-28 08:19:18 -07:00
docker-compose.yml fix(docker): fix cgit css config 2021-11-14 23:41:42 -08:00
Dockerfile feat(docker): add poetry caching 2021-11-10 13:00:01 -08:00
INSTALL use Poetry to deal with deps and package install 2021-09-04 15:46:40 -07:00
logging.conf fix(fastapi): centralize logging initialization 2021-10-21 10:40:52 -07:00
poetry.lock feat(poetry): add filelock 2021-11-17 01:34:58 -08:00
pyproject.toml feat(poetry): add filelock 2021-11-17 01:34:58 -08:00
pytest.ini change(aurweb): add parallel tests and improve aurweb.db 2021-11-17 01:34:59 -08:00
README.md update documentation for FastAPI tests and deps. 2021-06-05 19:49:19 -07:00
setup.cfg feat(fastapi): include all models in aurweb.models package 2021-10-16 19:35:20 -07:00
TESTING doc: simplify database setup instructions in TESTING 2021-02-20 11:25:21 -05:00

aurweb

aurweb is a hosting platform for the Arch User Repository (AUR), a collection of packaging scripts that are created and submitted by the Arch Linux community. The scripts contained in the repository can be built using makepkg and installed using the Arch Linux package manager pacman.

The aurweb project includes

  • A web interface to search for packaging scripts and display package details.
  • An SSH/Git interface to submit and update packages and package meta data.
  • Community features such as comments, votes, package flagging and requests.
  • Editing/deletion of packages and accounts by Trusted Users and Developers.
  • Area for Trusted Users to post AUR-related proposals and vote on them.

Directory Layout

  • aurweb: aurweb Python modules, Git interface and maintenance scripts
  • conf: configuration and configuration templates
  • static: static resource files
  • templates: jinja2 template collection
  • doc: project documentation
  • po: translation files for strings in the aurweb interface
  • schema: schema for the SQL database
  • test: test suite and test cases
  • upgrading: instructions for upgrading setups from one release to another
  • web: PHP-based web interface for the AUR

Translations

Translations are welcome via our Transifex project at https://www.transifex.com/lfleischer/aurweb; see doc/i18n.txt for details.

Transifex

Testing

See test/README.md for details on dependencies and testing.