Commit Graph
100 Commits
Author SHA1 Message Date
arcanis 2b1b17a1a3 Release 2.19.0 2025-06-29 03:00:41 +03:00
arcanis 9e6705056a build: use archlinux images for release build 2025-06-29 02:59:28 +03:00
arcanis b3a3a81f70 feat: add ability to refresh databases through web interface 2025-06-29 02:44:57 +03:00
arcanis 3e5dbbd6cd feat: extend user-agent 2025-06-28 23:08:31 +03:00
arcanisandGitHub f41e44895d fix: support provides in aur (#146)
* support provides in aur

* process provides during tree resolution

* stylish
2025-06-28 22:39:54 +03:00
arcanis 765bbf486f feat: port to new AUR API 2025-06-28 22:07:59 +03:00
arcanis a3c54afb82 fix: process unicode errors in command execution 2025-06-28 20:26:47 +03:00
arcanis 7f223ecc0a docs: extract version for the manpage 2025-06-25 02:14:57 +03:00
arcanis 7769a4a6e0 Release 2.18.3 2025-06-20 17:20:19 +03:00
arcanis 066d1b1dde refactor: rework few tests and build system
This commit includes the following changes
* Bump github actions
* Update tests github action to check documentation and streamline
  process
* Update test cases to use temporary directories as roots
* Simplify tox.ini
2025-06-20 17:04:57 +03:00
arcanis 1f22a27360 build: remove defaults from pylint config 2025-06-18 16:20:14 +03:00
arcanisandGitHub 75682bc7be feat: add support of openmetrics (#144)
* feat: add openmetrics support & endpoint

* add support of named resources

* update docstrings

* generate docs

* add another test for http api
2025-06-18 14:42:09 +03:00
arcanis e5d824b03f build: add regress weekly pipeline
This commit also adds manual dispatch for tests and setup
2025-06-16 21:15:52 +03:00
arcanis 8d0d597473 Release 2.18.2 2025-06-16 19:03:05 +03:00
arcanis 995b396360 bug: fix invalid logs rotation 2025-06-16 16:36:34 +03:00
arcanis 7f813cf0c3 Release 2.18.1 2025-06-16 15:33:24 +03:00
arcanis d4eb55ef95 bug: correctly close sqlite3 connection
After the last updates, tests produce warnings that the connection to
database is leaked, which appears to be correct. This commit changes
behaviour to closing connection explicitly via contextlib
2025-06-16 15:24:57 +03:00
arcanis 09350e88ab style: fix few typos 2025-06-14 23:34:53 +03:00
arcanis 2feaa14f46 Release 2.18.0 2025-06-13 16:37:58 +03:00
arcanis 9653fc4f4a type: support new configparser signatures 2025-05-31 02:16:07 +03:00
arcanis bcd46c66e8 test: use new-style fixtures instead of event_loop for asyncio 2025-05-12 15:57:05 +03:00
arcanis 6ea56faede build: fix tox environment creation with the latest updates 2025-05-09 15:00:40 +03:00
arcanis 9e346530f2 refactor: use backslashreplace error handling instead of guessing encoding 2025-05-08 14:03:47 +03:00
arcanis d283dccc1e type: update for new cors release 2025-03-17 13:56:59 +02:00
arcanis 8a4e900ab9 docs: update docs
This commit includes following changes
* add newly added option to configuration referenec
* remove few legacy options from configuration schemas used for
  validation, which might lead to errors during validation.
  Note, however, that settings will be still read by the service
* add link to aurcache
* hide service-setup command description under spoiler
2025-03-17 13:43:04 +02:00
arcanis fa6cf8ce36 website: use date instead of version for listing logs
website: make dropdown from logs versions to add some space
2025-03-13 15:45:31 +02:00
arcanis a706fbb751 bug: handle dependencies iteratively (fix #141)
It has been found that if there are missing dependencies than whole
process will break instead of just skipping packages. During package
addition it is fine-ish, but it will break updates run
2025-03-13 15:45:27 +02:00
arcanis 9a23f5c79d refactor: streamline migrations 2025-03-09 23:22:24 +02:00
arcanis aaab9069bf docs: rebuild indices 2025-03-09 15:43:41 +02:00
arcanis f00b575641 type: use ClassVar decorator for class attributes 2025-03-09 15:43:27 +02:00
arcanisandGitHub 6f57ed550b feat: refine log system (#142)
* refine package logging

* add interface

* revert version selection

* replace tuple with model

* rename column in logs table, add coverters

* generate process identifier for child proocesses
2025-03-09 14:46:33 +02:00
arcanis 08640d9108 feat: add dashboard (#139) 2025-02-24 00:10:15 +02:00
arcanis 65324633b4 feat: add counters to repository stats overview 2025-02-24 00:10:15 +02:00
arcanis ed67898012 fix: parse non-utf pkgbuilds as well (#140)
it has been reported that duriing reading pkgbuilds with latin-1 charset
the execption will be raised. Well, it is one more point to rewrite
parser to use own impl instead of shlex and parse raw byte array instead
2025-02-24 00:10:15 +02:00
arcanis a1a8dd68e8 type: remove unused ignore directive 2025-02-24 00:10:15 +02:00
arcanis a9505386c2 fix: force dry run build on task initialization for VCS packages
Previously if package is VCS and version in PKGBUILD doesn't match to
AUR one, then makepkg will update pkgbuild ignoring all previous pkgrel
patches

With this change during task init dry ryn process is always run for vcs
packages
2025-02-24 00:10:15 +02:00
arcanis a07b20bf50 Release 2.17.1 2025-01-06 01:14:28 +02:00
arcanis ed70897c39 fix: suppress traceback in shell if no ipython installed
Old implementation was showing import error, new implementation instead
hides it behind separated call and if-else check
2025-01-06 01:07:13 +02:00
arcanis 0423c3e67c Release 2.17.0 2024-12-29 18:07:23 +02:00
arcanis 571f62327f build: remove unused line from dockerfile 2024-12-24 16:49:30 +02:00
arcanis 286ff4bcef fix: update packages properties after rebuild
This case leads to issue when it is impossible to update list of
implicit dependencies correctly in case of multi-packages
2024-12-24 15:13:18 +02:00
arcanis 0660c33de3 chore: copyright update 2024-12-23 16:03:26 +02:00
arcanis c8421e97ee fix: fix pkgbuild parsing in case if comment mark is followed by token
without whitespaces

In this case, the next line was ignored
2024-12-23 15:55:07 +02:00
arcanis bc2288afc1 fix: suppress codefactor warning 2024-12-23 01:52:23 +02:00
arcanisandGitHub 503c8b0355 feat: make apispec dependency optional (#138) 2024-12-22 20:33:31 +02:00
arcanis 6738f9206d type: remove unused typeguard 2024-12-21 17:02:09 +02:00
arcanis f865e998b0 feat: add link to logo 2024-12-19 12:47:17 +02:00
arcanis 4880ca4fee feat: use IPython shell if available 2024-12-18 15:41:36 +02:00
arcanis 56114ecc1e Release 2.16.0 2024-12-01 21:05:56 +02:00
arcanis 57ab3ffb8f build: fix tox release target 2024-12-01 21:04:47 +02:00
arcanis 8b08bfe3b4 ci: create regress job 2024-12-01 17:45:20 +02:00
arcanis e34356989d fix: invalid call in package-status-update subcommand 2024-12-01 17:37:12 +02:00
arcanis 7c7804a9f4 build: allow to execute command from container from entrypoint 2024-11-29 16:17:45 +02:00
arcanis c4a56f1454 ci: add daily job 2024-11-26 11:55:08 +02:00
arcanis 1caed156ad docs: add description about privileged and non--privileged container 2024-11-24 23:52:49 +02:00
arcanis 45a620c40b fix: process list patch values in http requests
This commit parses values from post request as well as always serializes
values for the web interface
2024-11-22 17:22:37 +02:00
arcanis 3c1fdec0e9 fix: serialize patches inside double quotes if there are variables inside (#137)
Old behaviour leads to variable to be serialized always in single quotes
(if shlex decides to quote it). It doesn't allow to expand variables during execution,
so those values should be put inside double quotes instead. This commit
checks if there is sign char in the variable and quotes manually,
otherwise returning shlex call
2024-11-19 14:39:48 +02:00
arcanis f5d7085325 fix: correctly serialize patches from database (#137)
If value is stored as array in database it is serialized as json, but
read as normal string, which lead to innability to use list patches

This fix also removes any postprocessing (unquoting) for functions
2024-11-19 02:42:28 +02:00
arcanis 0cc35e70e3 build: docker image generation improvements
There are two major changes here. First of all, the image generation now
consist of two separated stages, the build itself and the production
image generation. Secondly, the packages inside image are now installed
as they were at the time of the root image generation (defined by stat
command)

Another side change is that container does not longer ship syncronized
(and out-of-dated) pacman databases; they have to be synced manually
2024-11-15 17:07:37 +02:00
arcanis f09082dff2 fix: fix parsing pkgbuild in case if comment starts with multiple sharps (#136) 2024-11-13 17:56:27 +02:00
arcanis 8d53a59a6a feat: notify users about outdated password hashes used 2024-11-13 16:18:44 +02:00
arcanis 20e7ba3b1d style: fix some typos and warnings 2024-11-11 18:07:13 +02:00
arcanis 4b5a645f8d docs: architecture doc update 2024-11-10 16:19:22 +02:00
arcanis 6a3c16a646 build: move dockerfile to docker directory 2024-11-06 17:18:31 +02:00
arcanisandGitHub 93ce7f9a51 feat: use split packages (#135)
* move argument parsers to handlers themselves

* use hatchling instead of flit

* Revert "use hatchling instead of flit"

This reverts commit d18d146d796bef01f7bba9003bc634946649f9aa.

* add package-splitt script

* replace simplify walk method

* split packages

* explicitly install packages

* separate support triggers from main package

* add docs examples

* sort actions

* docs update

* add metapackage

* review fixes
2024-11-01 16:07:04 +02:00
arcanis 6fe77eb465 test: remove duplicated descriptions from tests 2024-10-24 01:22:16 +03:00
arcanis 7c6c24a46d feat: allow append list options 2024-10-24 01:22:16 +03:00
arcanis f48993ccd5 build: update aur packages list for docker image build 2024-10-07 16:03:23 +03:00
arcanis 22600a9eac chore: contributing guide update 2024-10-06 15:06:22 +03:00
arcanis b167df904b build: use tool.flit.external-data to distribute data 2024-10-05 17:17:16 +03:00
arcanis cd0ac7a7bd chore: replace passlib with bcrypt
passlib uses deprecated crypt module which is deprecated and scheduled
for removal in 3.13. Unfortunately, this module seems to be
unmaintained, so this commit replaces passlib with bcrypt, unfortunately
breaking current passwords
2024-10-05 16:35:27 +03:00
arcanis 910d178c71 docs: replace svg with dot 2024-09-30 14:48:21 +03:00
arcanis 1e7d4daf18 feat: add package copy subcommand 2024-09-27 17:23:04 +03:00
arcanis 7bc4810377 fix: change category for dependencies api docs 2024-09-27 14:43:05 +03:00
arcanis aa66e76db7 feat: show implicit dependencies for packages 2024-09-27 14:41:45 +03:00
arcanis e0f9e38f44 Release 2.15.2 2024-09-26 16:58:19 +03:00
arcanis d6cdb5bea5 fix: fix pkgbuild parsing in some cases
It has been found that there are two cases in which pkgbuild was not
parsed correctly

1. Major case in which there is quotation mark inside comment line,
   which would cause ValueError: No closing quotation error
2. Minor case, if there are utf symbols in pkgbuild file (e.g.
   hieroglyphs, see ttf-google-fonts-git), it will case incorrect
   reading in `_is_escaped` method
2024-09-26 16:48:38 +03:00
arcanis 6d157ca809 fix: do not copy own database during pyalpm initialization
Previous implementation lead to warning in logs in case if the
repository itself wasn't configured on the host
2024-09-25 14:31:32 +03:00
arcanis 5486ae4a19 fix: suppress info logging during version check 2024-09-25 14:23:53 +03:00
arcanis 8bdf420cdc feat: suppress info log during vcs version calculation 2024-09-25 07:15:51 +03:00
arcanis 2deca6d715 refactor: even further improvements for Handler.check_status method 2024-09-25 07:15:51 +03:00
arcanis 180adf3f33 type: remove unused ignore comment 2024-09-25 07:15:51 +03:00
arcanis 634054926d docs: improve application help messages 2024-09-24 17:58:08 +03:00
arcanis 53baaac61e Release 2.15.1 2024-09-24 11:18:38 +03:00
arcanis d2a93a94e3 feat: enable changes calculation in unit 2024-09-24 11:01:37 +03:00
arcanis 7134aea125 refactor: rename Handler.check_if_empty to check_status 2024-09-24 01:36:33 +03:00
arcanis 740d537618 fix: bump pkgrel if the local version is newer than remote
In case of VCS packages, if PKGBUILD contains older version, the pkgrel
remains the same during the rebuild process. This fix bumps pkgrel in
any case if the local version is newer than the remote
2024-09-23 16:30:33 +03:00
arcanis 9f78e79f1f build: reduce docker image size 2024-09-23 14:37:36 +03:00
arcanis 09456141f5 docs: update web preview picture 2024-09-23 14:03:12 +03:00
arcanis 9e30e98e90 fix: allow colon in options interpolation 2024-09-23 13:52:49 +03:00
arcanis df2e98a1d3 Release 2.15.0 2024-09-23 03:32:01 +03:00
arcanis 24993047c6 build: speedup pacman 2024-09-23 03:30:17 +03:00
arcanis b20e844cc9 website: add logo to api docs 2024-09-23 02:39:54 +03:00
arcanis ce75ccb405 docs: update configuration references in docs 2024-09-22 15:16:34 +03:00
arcanis 1acff852d0 docs: add logo 2024-09-22 14:21:01 +03:00
arcanis 62320e8ec6 feat: drop explicit makepkg usage (#134)
* generate filenames without using makepkg

* pkgbuild parser impl

* completely remove makepkg calls

* simplify typed get

* try to improve parser

* docs and recipes updatte

* never raise keyerror instead return empty string

* udpate tests

* add support of array expansion

* docs update

* tests update

* handle quoted control sequences correctly

* expand bash

* allow packages without package function

* docs update

* add moroe tests

* small improovements

* support escaped arrays and functions
2024-09-21 03:57:22 +03:00
arcanis 1089bab526 type: ignore too-many-positional-arguments 2024-09-20 23:22:33 +03:00
arcanis 0e0012a6e0 chore: refresh icons 2024-09-20 03:29:18 +03:00
arcanis fbbb80d091 Revert "fix: update Repo.init to the latest pacman release"
This reverts commit 99ca0cb2fd.
2024-09-20 01:48:09 +03:00
arcanis 5316427371 fix: limit amount of fetches used for changes
The issue appears in case if - somehow - unknown commit sha has been
stored. In this scenario it would try to fetch infinitely
2024-09-20 01:48:03 +03:00