Commit Graph
100 Commits
Author SHA1 Message Date
arcanisandGitHub c54b14b833 feat: add ability to run build process to remote instances (#118) 2023-12-13 15:38:51 +02:00
arcanis e61b246216 fix: correct url for update requests in remote-call trigger 2023-12-11 15:43:28 +02:00
arcanisandGitHub 2a9eab5f1a feat: changes screen implementation (#117)
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
2023-11-30 14:56:41 +02:00
arcanis acc204de6d fix: use event instead of chained timer for daemon
Old solution causes amount of thread to be growing as well as stack is
increased during each iteration. Instead of cycle-free implementation,
this commit just uses while cycle
2023-11-30 13:40:59 +02:00
arcanis 0991dbb59c type: update to the typed aiohttp release 2023-11-23 15:35:38 +02:00
arcanis 18d17d4d52 feat: forbid form data in html
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
2023-11-16 16:42:27 +02:00
arcanis de7184fc3a feat: add separated web client for ahriman web services 2023-11-14 16:41:33 +02:00
arcanis 2d21c999d1 docs: move timeout settings from web to status group 2023-11-13 16:53:16 +02:00
arcanis ff78577d61 Release 2.12.2 2023-11-13 12:26:00 +02:00
arcanis eb6eda578c style: highligh __del__ methods in formatting 2023-11-13 12:16:30 +02:00
arcanis e823fd3f27 fix: fix some security issues 2023-11-12 22:22:05 +02:00
arcanis e4a857dad0 feat: add separated switch for status reporting 2023-11-11 15:18:17 +02:00
arcanis fc8f6c2985 feat: extend result class 2023-11-10 17:09:01 +02:00
arcanis bb6414f9d4 fix: pass packagers object insteaed of string during rebuild 2023-11-08 16:05:27 +02:00
arcanis 064ac6811c build: rename push action to release 2023-11-06 23:25:29 +02:00
arcanis 7d16142b3b Release 2.12.1 2023-11-06 16:31:56 +02:00
arcanis 69a79a2e64 fix: show unique upstream urls only 2023-11-06 16:29:18 +02:00
arcanis 5b4bff9c93 Release 2.12.0 2023-11-06 15:50:11 +02:00
arcanis 3f8b9eaed6 feat: add upstream and aur urls to package info modal 2023-11-06 15:46:32 +02:00
arcanis deab8ddae6 feat: serve favicon in root 2023-11-06 15:46:32 +02:00
arcanis eacb6ec729 build: remove spaces from names 2023-11-06 14:04:15 +02:00
arcanis dc2eebce39 docs: correct crossreference in docs 2023-11-06 14:04:15 +02:00
arcanis 6b755b4828 refactor: replace enum with intenum and strenum 2023-11-05 13:26:11 +02:00
arcanis a73341e885 feat: allow to pass repository identifier to all database methods 2023-11-05 13:26:11 +02:00
arcanis 969aa78c95 build: remove unused files from tarball 2023-11-05 13:26:11 +02:00
arcanis df787657aa chore: add metthod definition order plugin to pylint
Also reorder some methods to fix errors
2023-11-05 13:26:11 +02:00
arcanis eec94521a7 feat: read old web sections 2023-11-04 13:34:53 +02:00
arcanis b18000c777 feat: improve small screens views
also fix case when invalid repository id has been sent
2023-11-01 16:38:53 +02:00
arcanis dbaff5f981 fix: reset logs window manually 2023-10-31 12:33:57 +02:00
arcanis ae84ca0c56 fix: correct month serialization 2023-10-31 10:13:25 +02:00
arcanisandGitHub 8f047f9a96 feat: add patch controls to web, review web, enrich info tab (#115)
* add ability to specify one-time patch on package addition

* support vars in interface
2023-10-29 23:41:20 +02:00
arcanis 54bd016c17 refactor: drop _check_output class attribute 2023-10-23 02:24:53 +03:00
arcanis 42f77742f8 refactor: add ability to pass anything as environment variable to build task 2023-10-23 02:24:41 +03:00
arcanis 46bb9c95d0 fix: make toggle button works on small displays 2023-10-21 15:18:09 +03:00
arcanis 5dd4763a80 fix: write new line for telegram index 2023-10-21 03:56:48 +03:00
arcanis 45eba6a6e3 fix: do not automatically add unknown local packages
Instead of automatic package addition now it is required to add package
manually after clone. Less magic, plus would allow to use caches for
multi-repo setup (see #109)
2023-10-21 01:33:12 +03:00
arcanis 4c1d0abb85 feat: add ability to run multiple commands on success 2023-10-19 04:34:49 +03:00
arcanis 1e00bf9398 feat: allow to use single web instance for all repositories (#114)
* 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
2023-10-17 03:58:50 +03:00
arcanis bf9a46936c chore: update comments to the latest mypy release 2023-10-12 20:31:00 +03:00
arcanis a0b17981e3 feat: add ability to override oauth2 icon 2023-10-07 18:12:17 +03:00
arcanis c440f5bbd5 fix: whitelist environment variables instead of passing all of them
Earlier applied fix bc9682373d introduced
errors with interaction, because (in docker container) HOME variable was
passed also to subprocesses. This fix limits variables to be passed to
the whitelisted ones
2023-10-02 16:37:20 +03:00
arcanis 8ff567cac3 feat: add __call__ method to printers 2023-10-01 15:14:18 +03:00
arcanisandGitHub 9fe760efdf feat: load http views dynamically (#113) 2023-09-30 01:24:04 +03:00
arcanis bc9682373d fix: processes in docker images and pass full environment to
subprocesses

Since 1.0.4 release devtools require systemd to be run in order to
create slice for unit
2023-09-29 03:57:26 +03:00
arcanis aedcbf1985 fix: fix documentation building 2023-09-28 15:09:33 +03:00
arcanis 26b991bf47 feat: add pagination to packages list 2023-09-11 18:08:26 +03:00
arcanis 8bf422b02a docs: update documentation to new api calls 2023-09-11 15:57:00 +03:00
arcanis 0c920832c9 fix: add note about pacman configuration 2023-09-10 23:48:03 +03:00
arcanisandGitHub bef8d33570 feat: improve template processing (#112)
* Improve template processing

* docs update, config validation rules update
2023-09-08 23:38:07 +03:00
arcanis b540ced77f perf: limit clone and fetch by the latest commit 2023-09-08 15:52:59 +03:00
arcanis 723b6971dd fix: correct version check in postinstall script 2023-09-08 14:48:31 +03:00
arcanis 59356e905a feat: allow to use one application for multiple repositories (#111)
* 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
2023-09-08 14:01:07 +03:00
arcanis 99eecdebf3 feat: pagination support for logs request 2023-09-08 01:41:36 +03:00
arcanis 5e42dd4e70 fix: mark failed packages as failed in console handler 2023-09-06 18:22:05 +03:00
arcanis 4ec7e2d129 docs: mock cryptography import due to build errors 2023-09-05 18:37:46 +03:00
arcanis 9a521af078 feat: show help message if no command specified 2023-09-05 18:26:22 +03:00
arcanis d1132b49fc feat: add ability to skip migrations
This feature can be used in order to handle conflicting migrations
2023-09-02 14:30:50 +03:00
arcanis 2c21ae26c3 ci: publish docker image to ghcr 2023-08-28 03:21:25 +03:00
arcanis bba90b3eb8 Release 2.11.0 2023-08-27 02:12:21 +03:00
arcanis 3cac53ac11 add ability to partition tree before calculationn 2023-08-27 01:55:57 +03:00
arcanis 9fa6722eaa small improvements on code smell
* fix some grammar/typo errors
* change some statements to be more clear
* use pattern matching for enum processing
2023-08-25 04:15:10 +03:00
arcanis 1d4ed0e0c3 force rtd theme
Since Aug, 22 rtd doesn't force its theme anymore, leaving it as default
2023-08-23 15:27:51 +03:00
arcanis 2cda4a2469 use http client class for all http requests 2023-08-23 03:27:42 +03:00
arcanis 9406537a15 bump pylintrc 2023-08-21 02:55:08 +03:00
arcanis 598af7d9db verbose subprocess exception handle annd quite git 2023-08-21 01:35:43 +03:00
arcanis 6530afbfc7 review exception raise
In some cases for better readability of logs, exceptions are now raised
without parent exception stacktrace. Also updated docs and contributing
guidelines
2023-08-20 17:03:46 +03:00
arcanisandGitHub ad1c0051c4 Remote call trigger support (#105)
* 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
2023-08-20 03:44:31 +03:00
arcanis 5b172ad20b update gh actions install script 2023-08-17 16:33:02 +03:00
arcanis 42fccb76ef add dummy type fields for pkgbuild generators
This field is required in order to pass config validation in case if
section name differs from default one. Also by default keyring_generator
and mirrorlist_generator have been renamed to keyring-generator and
mirrorlist-generator respectively for consistence
2023-08-17 16:02:15 +03:00
arcanis c37f67c558 close descriptor after uploading archive on github 2023-08-15 02:31:46 +03:00
arcanis 89d9b581bd contributing guide update 2023-08-14 02:51:14 +03:00
arcanis 116dc0b329 resoolve dependencies by using local cache too (#107) 2023-08-14 02:31:24 +03:00
arcanis e3ed36fafd add ability to read values from environment variables
It makes sense to read some values from environment. In particular this
feature is useful in case of running application in containers in ci/cd

See #108 for more details
2023-08-14 01:48:08 +03:00
arcanis 573ade4ba5 remove unused absolute path validator (#106)
Extracted path is always absolute, so there is no need to check it
2023-08-13 20:48:07 +03:00
arcanis 9259d9c727 Local packages support improvements (#104)
* handle git author correctly
* make remote source required argument
2023-08-13 15:45:53 +03:00
arcanis c863ee063c make auth.salt parameter optional
Used implementation of the hasher includes salt itself, thus additional
salt is optional and can be safely (in terms of security) treat as empty
string
2023-08-11 16:31:47 +03:00
arcanis 480c3a54b8 full support of pep517
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
2023-08-11 03:55:31 +03:00
arcanis 3b3ef43863 automatically bump pkgrel on version duplicates
The new --(no-)increment flag has been added to add, update and rebuild
subcommands. In case if it is true and package version is the same as in
repository, it will automatically bump pkgrel appending (increasing)
minor part of it (e.g. 1.0.0-1 -> 1.0.0-1.1).

Inn order to implement this, the shadow (e.g. it will not store it in
database) patch for pkgrel will be created
2023-08-08 03:14:47 +03:00
arcanis 368db86dde Release 2.10.2 2023-08-08 02:54:23 +03:00
arcanis adf6a0a952 remove napoleon contrib dependency 2023-08-08 02:53:08 +03:00
arcanis 575a618096 fix issues with remote pull triggers (see #103)
* The issue appears when repository contains PKGBUILD in root. In this
  case it will copy tree with loosing package information, because
  the repository will be cloned to temporary path with random generated
  name
* The issue appears when branch which is different from master is used
  for any reposittory with git files (e.g. single-pkgbuild repo or repo
  with submodules)
2023-08-08 02:34:44 +03:00
arcanis 2c03354d4a Release 2.10.1 2023-07-28 03:21:19 +03:00
arcanis 4008aa2e0a do not create application in shell handler
The main reason for having shell handler is to be able to fix if
something (e.g. migrations) goes wrong. In this way we need to reduce
actions inside this wrapper
2023-07-28 03:06:28 +03:00
arcanis 9cb39f6767 rase 405 error in case if GET login method is used whereas no aioauth
library installed
2023-07-23 03:01:25 +03:00
arcanis c7de182f3d optimize schemas import 2023-07-23 02:24:39 +03:00
arcanis d21c3fdf9f Release 2.10.0 2023-07-22 05:28:57 +03:00
arcanisandGitHub 9f2fe219c8 add support of table filter controls (#101) 2023-07-21 02:10:26 +03:00
arcanis ad570aae0f remove unsafe flag from handlers
This flag became reduntant there and tree creation has been moved to
lock
2023-07-07 03:25:05 +03:00
arcanis 116b65d92a fix code block in docs 2023-07-06 19:17:11 +03:00
arcanis 5e5171cf3e add salt generator to setup command instead 2023-07-06 19:16:49 +03:00
arcanis af3360e84a register dependency package before build
If package has been added as dependency, the service miss remote as well
as causes some 400 errors in reporter
2023-07-06 03:11:19 +03:00
arcanis 95f52f7ebe handle packages load from aur by package name also
In general package names array may not contain package base, thus it
leads to inability to load packages from aur by its base during update
process
2023-07-01 15:55:04 +03:00
arcanis f5fe200247 explicitly pass user agent for the arch linux sites requests 2023-06-26 02:52:08 +03:00
arcanis a1c12200b8 print configuration paths in dump command 2023-06-11 15:11:34 +03:00
arcanis 09839f755a remove salt generation from users handler
It causes issues, because users handler is operating with service user,
but writtinng salt requires root privileges
2023-06-05 05:25:10 +03:00
arcanis fcd4d60cad complitely disable signature check for local repository in devtools
It appears that with optional level pacman still tries to validate the
key, which can lead to errors whille processing in docker container
2023-06-05 04:41:03 +03:00
arcanis 3681473942 packager documentation update 2023-06-05 03:40:02 +03:00
arcanisandGitHub 4dd5a1e82e packagers support (#100) 2023-06-05 02:37:19 +03:00
arcanis cbd1d3d5b8 use autodoc_mock_imports instead of custom mocking for docs 2023-05-31 19:17:16 +03:00
arcanis e3347aec2d use cached property instead of custom __getattr__ implementation 2023-05-31 19:17:16 +03:00