Commit Graph
100 Commits
Author SHA1 Message Date
arcanis 985307a89e type: fix mypy warn for fresh unixsocket release 2024-07-17 17:08:00 +03:00
arcanis e2efe21a8b build: use requests-unixsocket2 fork
Since requests-2.32.0, the http+unix url scheme is brokek, check
https://github.com/msabramo/requests-unixsocket/issues/73 for more
details
2024-06-12 17:08:28 +03:00
arcanisandGitHub 5995b78572 feat: implement local reporter mode (#126)
* implement local reporter mode

* simplify watcher class

* review changes

* do not update unknown status

* allow empty key patches via api

* fix some pylint warnings in tests
2024-05-21 16:27:17 +03:00
arcanis ac19c407d3 feat: allow to use simplified keys for context
Initial implementation requires explicit context key name to be set.
Though it is still useful sometimes (e.g. if there should be two
variables with the same type), in the most used scenarios internally
only type is required. This commit extends set and get methods to allow
to construct ContextKey from type directly

Also it breaks old keys, since - in order to reduce amount of possible
mistakes - internal classes uses this generation method
2024-05-12 12:00:02 +03:00
arcanis c74cd68ad6 feat: add abillity to check broken dependencies (#122)
* implement elf dynamic linking check

* load local database too in pacman wrapper
2024-05-12 11:59:57 +03:00
arcanis bb4a0d75fc Release 2.13.8 2024-05-12 11:53:19 +03:00
arcanis bca0df41d1 fix: drop integrity check for javascript
It has been added to improve security, however, it changes over time for
no reason ¯\_(ツ)_/¯ I guess either cdn was hacked or fuck js
2024-05-12 11:49:12 +03:00
arcanis 07b77be6b8 Release 2.13.7 2024-05-09 13:26:40 +03:00
arcanis 2b33510ada fix: parse array variable from command 2024-05-09 13:21:42 +03:00
arcanis 6d05389639 Release 2.13.6 2024-05-05 21:59:30 +03:00
arcanis daf9841717 fix: update integrity checksums for momentjs and daterangepicker 2024-05-05 21:17:30 +03:00
arcanis 0d243a781a refactor: update code to the latest python (3.12+) 2024-05-05 21:17:30 +03:00
arcanis cf2e66a934 fix: remove debug packages together with normal ones (#124) 2024-05-05 21:17:30 +03:00
arcanis f01f35238d Release 2.13.5 2024-04-04 13:33:03 +03:00
arcanis d30d512eb6 fix: update Repo.init to the latest pacman release 2024-04-04 13:16:05 +03:00
arcanis 0437f90e5a build: install base-devel package 2024-04-04 13:16:03 +03:00
arcanis 3cab65855a fix: lazy web component initialization
In some cases (probably slow internet) in place initialization can cause
exception, because elements are not available yet. This commit moves
events initialization to $()
2024-04-04 13:14:17 +03:00
arcanis ecfb615f97 feat: add ability to disable debug packages distribution
The feature is implemented as supplying !debug option to makepkg when
generating package list. In this case debug packages still will be
built, however, they will not be added to the repository
2024-04-04 13:14:17 +03:00
arcanis 243983ee64 docs: update docs 2024-02-10 03:12:09 +02:00
arcanis 812c03d1eb Release 2.13.4 2024-02-09 17:47:01 +02:00
arcanis 01597c531b fix: return only built packages from task
Since the last updates makepkg --packagelist also adds debug packages
which causes errors
2024-02-09 17:37:50 +02:00
arcanis 4fec42eac8 refactor: rename packages http methods to own package
docs: update docs import
2024-01-22 02:20:11 +02:00
arcanis 7574b8e5ce Release 2.13.3 2024-01-13 01:24:30 +02:00
arcanisandGitHub 0f2e7f45da fix: replace logo and name in title to just icon 2024-01-12 01:25:46 +02:00
arcanis 5956a8720b Release 2.13.2 2024-01-08 22:48:55 +02:00
arcanis 8dd4ced5e9 fix: report only unique result entries
since builder intro the triggers are called with merged result, thus it
would lead to duplicated callouts
2024-01-08 22:46:42 +02:00
arcanis 6361c41f76 Release 2.13.1 2024-01-08 21:17:35 +02:00
arcanis 270084bb39 fix: do not raise 404 in case of unknown package on patches endpoints
Previous improvements raise 404 error in case if no packages were found
for patches endpoints. However, in case of multirepo setup this feature
doesn't work properly because package can be located in any other
repository different from default
2024-01-08 14:32:40 +02:00
arcanis f89a5252de build: pass ssh agent to tox release env 2024-01-08 14:22:53 +02:00
arcanis 8cafdb52e5 Release 2.13.0 2024-01-05 22:48:03 +02:00
arcanis 203ebad817 ci: explicit isolated build for old ubuntu tox 2024-01-05 22:47:28 +02:00
arcanis 9f471d11a7 docs: add comments to configuration 2024-01-05 22:24:37 +02:00
arcanis 2ea8a4a07f test: add pytlint imports plugin and fix errors 2024-01-05 19:52:51 +02:00
arcanis 856bbc30d4 refactor: fix pylint warnings in tests 2024-01-05 16:40:38 +02:00
arcanis c88f97c36e refactor: simplify lock processing in worker trigger 2024-01-05 16:11:32 +02:00
arcanis 174d7578a0 refactor: split Path elements to / and first directory 2024-01-05 15:22:46 +02:00
arcanis 8b26035fc9 docs: url spelling 2024-01-05 12:37:23 +02:00
arcanis fc9391dd5f chore: add index page recipe 2024-01-05 12:34:55 +02:00
arcanis ed7ed5d5d9 feat: read username if email is not available for oauth provider
Also add recipe for OAuth with GitHub setup
2024-01-05 12:28:31 +02:00
arcanis 9e1cf3cde7 refactor: use root RequestException instead of the one from subpackage 2024-01-05 11:48:38 +02:00
arcanis 08086e8ba8 fix: safe urls for packages
String catenation used for url generators didn't encode package names
which could lead to missing data in case if e.g. there is slash (/) in
package name
2024-01-03 14:28:20 +02:00
arcanis 1a61da7ab9 refactor: remove custom access logger
It is fine when application is able to log request, however, normally it
produces a lot noise, which has been handled by adding special logger.
However, nowadays it requires a lot endpoints to be filtered and doesn't
provide any choice.

Instead of it lets disable access logger by default and let users decide
do they need or not to see access log messages
2024-01-03 12:18:50 +02:00
arcanis f4dcbbde18 chore: copyright update 2024-01-03 12:09:10 +02:00
arcanis 7aba67186f feat: raise 404 in case if package is unknown for logs and patches 2024-01-03 12:09:10 +02:00
arcanis 8635ee8953 feat: threadsafe services
In the most cases it was enough to just add lock. In case of worker
trigger, since there is atomic operation on timer, it was also required
to add queue (coz python doesn't have atomics)
2024-01-03 12:09:10 +02:00
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