Commit Graph
100 Commits
Author SHA1 Message Date
arcanisandGitHub 2d42424477 feat: add workers autodicsovery feature (#121)
* add workers autodicsovery feature

* suppress erros while retrieving worker list

* update recipes

* fix tests and update docs

* filter health checks

* ping based workers
2024-01-03 02:25:24 +02:00
arcanis fdf7a36271 chore: make yamll style consistent 2023-12-29 03:57:13 +02:00
arcanis e9116741a5 refactor: fix warnings and typos, cleanup code 2023-12-28 16:53:45 +02:00
arcanis 1a2327cefd build: install aiohttp-cors from aur 2023-12-28 16:05:48 +02:00
arcanis 29c8c4bfd7 chore: add daemon unit 2023-12-28 15:24:14 +02:00
arcanis e40b773029 test: add tests to check args list
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)
2023-12-27 15:01:07 +02:00
arcanis ee3ccf70ac refactor: use AppKey's instead of string identifiers for web application 2023-12-27 13:53:23 +02:00
arcanisandGitHub e4b22fd620 feat: allow to run daemon mode with split packages check (#120) 2023-12-27 03:05:44 +02:00
arcanis 48344f759d feat: add healh-check like endpoint, support of healthcheck in docker compose 2023-12-21 17:49:35 +02:00
arcanis 290e6e7670 docs: add reference how to copy package 2023-12-21 02:14:27 +02:00
arcanis e0e4da6669 fix: drop debug toolbar 2023-12-20 16:26:14 +02:00
arcanis 0e2ad3325c docs: docs review 2023-12-20 10:00:12 +02:00
arcanis 28589cb122 chore: add configuration recipes 2023-12-20 10:00:12 +02:00
arcanis 93793b6424 build: drop makefile
It has been a while since we moved to tox. Lets also drop makefile since
it seems to be useless with tox
2023-12-17 02:26:52 +02:00
arcanis b3ce545517 docs: restore docs for the view 2023-12-15 16:17:19 +02:00
arcanisandGitHub e51d91740d feat: add ability to disable specific routes (#119) 2023-12-15 14:34:03 +02:00
arcanisandGitHub 5ddc08fce7 feat: add ability to run build process to remote instances (#118) 2023-12-13 15:38:51 +02:00
arcanis f2f6f6df70 fix: correct url for update requests in remote-call trigger 2023-12-11 15:43:28 +02:00
arcanisandGitHub 2760b36977 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 a689448854 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 aef3cb95bc type: update to the typed aiohttp release 2023-11-23 15:35:38 +02:00
arcanis d72677aa29 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 82d1be52a8 feat: add separated web client for ahriman web services 2023-11-14 16:41:33 +02:00
arcanis 7536d6bb82 docs: move timeout settings from web to status group 2023-11-13 16:53:16 +02:00
arcanis b050c409cf Release 2.12.2 2023-11-13 12:26:00 +02:00
arcanis d77cf7c4bb style: highligh __del__ methods in formatting 2023-11-13 12:16:30 +02:00
arcanis e03fcbfab5 fix: fix some security issues 2023-11-12 22:22:05 +02:00
arcanis 62dd77317d feat: add separated switch for status reporting 2023-11-11 15:18:17 +02:00
arcanis 95056cfbe7 feat: extend result class 2023-11-10 17:09:01 +02:00
arcanis 2d31a415ce fix: pass packagers object insteaed of string during rebuild 2023-11-08 16:05:27 +02:00
arcanis 5cbeec40f8 build: rename push action to release 2023-11-06 23:25:29 +02:00
arcanis 4a644fc80f Release 2.12.1 2023-11-06 16:31:56 +02:00
arcanis d1aeeda975 fix: show unique upstream urls only 2023-11-06 16:29:18 +02:00
arcanis 53aedbb9aa Release 2.12.0 2023-11-06 15:50:11 +02:00
arcanis c941226a9b feat: add upstream and aur urls to package info modal 2023-11-06 15:46:32 +02:00
arcanis 69cbbfce65 feat: serve favicon in root 2023-11-06 15:46:32 +02:00
arcanis 52d69fa9f6 build: remove spaces from names 2023-11-06 14:04:15 +02:00
arcanis 279ac785a1 docs: correct crossreference in docs 2023-11-06 14:04:15 +02:00
arcanis f51b8e2358 refactor: replace enum with intenum and strenum 2023-11-05 13:26:11 +02:00
arcanis b116e6fa07 feat: allow to pass repository identifier to all database methods 2023-11-05 13:26:11 +02:00
arcanis 7b667c8157 build: remove unused files from tarball 2023-11-05 13:26:11 +02:00
arcanis c51463d36b chore: add metthod definition order plugin to pylint
Also reorder some methods to fix errors
2023-11-05 13:26:11 +02:00
arcanis 79947af013 feat: read old web sections 2023-11-04 13:34:53 +02:00
arcanis e6d6cb006b feat: improve small screens views
also fix case when invalid repository id has been sent
2023-11-01 16:38:53 +02:00
arcanis f553cc059a fix: reset logs window manually 2023-10-31 12:33:57 +02:00
arcanis c99d4f6f0f fix: correct month serialization 2023-10-31 10:13:25 +02:00
arcanisandGitHub 554827cc57 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 8524f1eb20 refactor: drop _check_output class attribute 2023-10-23 02:24:53 +03:00
arcanis 4b6feb9ae6 refactor: add ability to pass anything as environment variable to build task 2023-10-23 02:24:41 +03:00
arcanis ad901067d8 fix: make toggle button works on small displays 2023-10-21 15:18:09 +03:00
arcanis 4c20897e14 fix: write new line for telegram index 2023-10-21 03:56:48 +03:00
arcanis f8cbd07259 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 16ad96d8c6 feat: add ability to run multiple commands on success 2023-10-19 04:34:49 +03:00
arcanis 6bd1636bfa 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 4eb187aead chore: update comments to the latest mypy release 2023-10-12 20:31:00 +03:00
arcanis f2ac27ccb7 feat: add ability to override oauth2 icon 2023-10-07 18:12:17 +03:00
arcanis b198778810 fix: whitelist environment variables instead of passing all of them
Earlier applied fix d5f4fc9b86 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 57c8ed3557 feat: add __call__ method to printers 2023-10-01 15:14:18 +03:00
arcanisandGitHub 1859d14f78 feat: load http views dynamically (#113) 2023-09-30 01:24:04 +03:00
arcanis d5f4fc9b86 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 462096ee8a fix: fix documentation building 2023-09-28 15:09:33 +03:00
arcanis 98e594df90 feat: add pagination to packages list 2023-09-11 18:08:26 +03:00
arcanis 657bcdcc0b docs: update documentation to new api calls 2023-09-11 15:57:00 +03:00
arcanis edcc464658 fix: add note about pacman configuration 2023-09-10 23:48:03 +03:00
arcanisandGitHub 018d9589e1 feat: improve template processing (#112)
* Improve template processing

* docs update, config validation rules update
2023-09-08 23:38:07 +03:00
arcanis a56fe28003 perf: limit clone and fetch by the latest commit 2023-09-08 15:52:59 +03:00
arcanis 03c183d66c fix: correct version check in postinstall script 2023-09-08 14:48:31 +03:00
arcanis efde0b2e86 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 c915d68c97 feat: pagination support for logs request 2023-09-08 01:41:36 +03:00
arcanis 853185c659 fix: mark failed packages as failed in console handler 2023-09-06 18:22:05 +03:00
arcanis 28afcde3fa docs: mock cryptography import due to build errors 2023-09-05 18:37:46 +03:00
arcanis 62ae3ada4a feat: show help message if no command specified 2023-09-05 18:26:22 +03:00
arcanis 6fcb5449c3 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 74209acc21 ci: publish docker image to ghcr 2023-08-28 03:21:25 +03:00
arcanis 969352d842 Release 2.11.0 2023-08-27 02:12:21 +03:00
arcanis a1db4dc8b8 add ability to partition tree before calculationn 2023-08-27 01:55:57 +03:00
arcanis f6081507c0 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 477c473187 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 33e68a59e2 use http client class for all http requests 2023-08-23 03:27:42 +03:00
arcanis 6dfe1b92f2 bump pylintrc 2023-08-21 02:55:08 +03:00
arcanis 5dc6df11c5 verbose subprocess exception handle annd quite git 2023-08-21 01:35:43 +03:00
arcanis d3f6ca24c8 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 c26a13c562 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 9ea3a911f7 update gh actions install script 2023-08-17 16:33:02 +03:00
arcanis ca60317750 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 1384efb31d close descriptor after uploading archive on github 2023-08-15 02:31:46 +03:00
arcanis 8c6486c233 contributing guide update 2023-08-14 02:51:14 +03:00
arcanis a1d0e993a8 resoolve dependencies by using local cache too (#107) 2023-08-14 02:31:24 +03:00
arcanis 572880eb73 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 d9eaf17a11 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 95e29d16bb Local packages support improvements (#104)
* handle git author correctly
* make remote source required argument
2023-08-13 15:45:53 +03:00
arcanis 1f2d56e605 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 1baf04998d 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 3a88d00db0 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 b58d8d96ff Release 2.10.2 2023-08-08 02:54:23 +03:00
arcanis 4abe3b8963 remove napoleon contrib dependency 2023-08-08 02:53:08 +03:00
arcanis 237fec3f85 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 bd0f850d25 Release 2.10.1 2023-07-28 03:21:19 +03:00
arcanis 5904727da2 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 263c53bac5 rase 405 error in case if GET login method is used whereas no aioauth
library installed
2023-07-23 03:01:25 +03:00