Some parsers are shared between different subcommands. It causes errors
when wwe add new arguments to one of them. This commit adds some tests
to cover those cases (except for well-known differencies)
Add support of changes generation. Changes will be generated (unless explicitly asked not to) automatically during check process (i.e. `repo-update --dry-run` and aliases) and uploaded to the remote server. Changes can be reviewed either by web interface or by special subcommands.
Changes will be automatically cleared during next successful build
It has been a while since all pages have moved to json instead of form
data, except for login page. This commit changes login to json data
instead of form one
* Allow to use single web instance for any repository
* some improvements
* drop includes from user home directory, introduce new variables to docker
The old solution didn't actually work as expected, because devtools
configuration belongs to filesystem (as well as sudo one), so it was
still required to run setup command.
In order to handle additional repositories, the POSTSETUP and PRESETUP
commands variables have been introduced. FAQ has been updated as well
* raise 404 in case if repository is unknown
* allow to use one application for multiple repositories
* update tests
* handle None append argument everywhere
* rewrite repository definition logic
* drop optional flags from docs
* support of new schema in systemd units
* add migration docs and ability to migrate tree automatically
* use repostory id instead
* verbose multiarchitectureerror
* object path support for s3 sync
* fix tests after rebase
* add support of remote task tracking
* add remote call trigger implementation
* docs update
* add cross-service upload
* add notes about user
* add more ability to control upload
* multipart upload with signatures as well as safe file save
* configuration reference update
* rename watcher methods
* erase logs based on current package version
Old implementation has used process id instead, but it leads to log
removal in case of remote process trigger
* add --server flag for setup command
* restore behavior of the httploghandler
Since llast upgrade build is broken. Lets fully migrate to
pyproject.toml. Note for maintaners: because data_files option is
deprectated (see https://github.com/pypa/setuptools/discussions/2648)
you will have to install files manually inside your packaging process
This migration includes
* removal of community repository as it is no more
* fixed paths for devtools configurations
* migration of archlinux packaging git url
Note that this commit contains the following breaking changes:
* remote pull and remote push triggers are now enabled by default (with
empty target list)
* remote pull and remote push triggers now require target option to be
set (old behaviour had fallback on `gitremote`)
* validation is now considered to be stable, so it is enabled by default
in docker image (can be disabled however)
Some commands were made unsafe in old versions, but nowadays they can be
run without having special privileges.
There was also a bug in which status commands were not available if you
are not ahriman user and unix socket is used. It has been fixed by
switching to manual socket creation (see also
https://github.com/aio-libs/aiohttp/issues/4155)
* Unlike older version, currently service will always try to pull AUR
package to check version. Previously if no-vcs flag is set, it would
ignore VCS packages completelly
* Introduce build.vcs_allowed_age option. If set, it will skip version
calculation if package age (now - build_date) is less than this value