Commit Graph
100 Commits
Author SHA1 Message Date
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
arcanis 6743f1d62a optimize schemas import 2023-07-23 02:24:39 +03:00
arcanis 931ff9bd98 Release 2.10.0 2023-07-22 05:28:57 +03:00
arcanisandGitHub 6b3fc3a6a0 add support of table filter controls (#101) 2023-07-21 02:10:26 +03:00
arcanis b7852f55c8 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 721b447767 fix code block in docs 2023-07-06 19:17:11 +03:00
arcanis b80ea80e9d add salt generator to setup command instead 2023-07-06 19:16:49 +03:00
arcanis 8e9da5baab 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 a443abb94e 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 61c565ab0d explicitly pass user agent for the arch linux sites requests 2023-06-26 02:52:08 +03:00
arcanis 10100b20e1 print configuration paths in dump command 2023-06-11 15:11:34 +03:00
arcanis 2922bb9d72 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 17f5f41e36 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 c22ddd71d9 packager documentation update 2023-06-05 03:40:02 +03:00
arcanisandGitHub 4b984afb64 packagers support (#100) 2023-06-05 02:37:19 +03:00
arcanis d495163fdd use autodoc_mock_imports instead of custom mocking for docs 2023-05-31 19:17:16 +03:00
arcanis 041e9536bf use cached property instead of custom __getattr__ implementation 2023-05-31 19:17:16 +03:00
arcanis 1625fddccd support check dependencies 2023-05-31 19:17:16 +03:00
arcanisandGitHub 8f2c33fe5d mimic parent arguments during spawn process (#99) 2023-05-30 18:09:35 +03:00
arcanis d064e46af6 do not terminate child process explicitly
This feature sometimes causes the main process termination. Since the
child process has been already terminated (or going to) there is no need
to terminate it manually
2023-05-29 17:27:04 +03:00
arcanis 5627c9cca0 fix case where it was impossible to create session if user and password
are required

Issue appears if auth is enabled and unix socket is disabled and caused
by 7f5e541120
2023-05-29 17:23:57 +03:00
arcanis 8731cee8ea runtime logger handler selector 2023-05-29 03:41:11 +03:00
arcanis 01a4d68ce6 add repod reference to faq 2023-05-26 12:58:25 +03:00
arcanis 8f0a6cf6b5 allow to filter packages for rebuild by their statuses 2023-05-25 17:41:54 +03:00
arcanis d96e3c97db fix documentation error 2023-05-25 16:31:47 +03:00
arcanisandGitHub 1cf027cb55 Support type triggers (#96)
* implement mirrorlist package generator

* implement keyring package generator

* docs update

* do not skip empty lines

* fill remote source for local packages

* faq update
2023-05-25 16:27:16 +03:00
arcanis 8e0e57e193 switch to explicit journald logger instead of syslog 2023-05-25 04:44:38 +03:00
arcanis f855e645cc update optional dependencies list 2023-05-24 15:39:36 +03:00
arcanis 8ab0df2bed bump rtd image 2023-05-24 03:58:14 +03:00
arcanis 840921f585 update packaging files
also remove makedependencies after installation in docker
2023-05-22 18:23:06 +03:00
arcanis 6f566b0c6c Release 2.9.0 2023-05-22 17:04:32 +03:00
arcanis d06399db2c update models index 2023-05-22 17:02:55 +03:00
arcanis 70e9e3e822 migrate to the latest devtools & archlinux git changes
This migration includes
* removal of community repository as it is no more
* fixed paths for devtools configurations
* migration of archlinux packaging git url
2023-05-22 16:51:27 +03:00
arcanis 8c55438140 disable debugpanel for now 2023-05-04 14:30:27 +03:00
arcanis 277d40d231 do not assign path in context manager as it is deprectated 2023-05-04 14:29:39 +03:00
arcanisandGitHub 2ff56965d9 PEP-673 use Self as return type for classmethods (#94)
* PEP-673 use Self as return type for classmethods

* add dummy test file

* remove python3.10 compat
2023-05-04 03:28:08 +03:00
arcanis 9dc6d56a8d fix flapping tests for oauth
Original implementation sends requests to httpbin which sometimes might
not be available. With proposed changes we are blocking redirects and
just check request itself
2023-05-03 14:53:35 +03:00
arcanis d59a0629c5 PEP-561 complaint: add py.typed marker 2023-04-17 18:56:49 +03:00
arcanis 31f47b8069 fix some pycharm warnings 2023-04-17 02:23:50 +03:00
arcanis e42ca95789 suppress status errors also if option is set 2023-04-15 05:05:55 +03:00
arcanis ff917281a2 add referencne to api docs to docs 2023-04-14 05:06:53 +03:00
arcanis f7e260e1f4 add reference to api documentation from main page 2023-04-12 04:22:49 +03:00
arcanisandGitHub abf29083c4 PEP-585 complaint: remove type aliases (#93) 2023-04-12 04:09:28 +03:00
arcanis 54d36ccf36 docs update 2023-04-10 21:13:43 +03:00
arcanis 2cd61b0a20 Release 2.8.0 2023-04-09 13:06:54 +03:00
arcanis 9503a9f2ae try to remove unknown packages from api 2023-04-06 18:14:36 +03:00
arcanis 39fde7cd5f hide cookie key and salt from config output 2023-04-06 00:31:50 +03:00
arcanis 58379e7bf3 optimize imports 2023-04-06 00:24:39 +03:00
arcanis 3c068edf4f argument annootation update 2023-04-06 00:24:39 +03:00
arcanis 1106ff6482 fix license url 2023-04-06 00:24:39 +03:00
arcanis e08ab2db10 extract schemas automatically from views 2023-04-06 00:24:39 +03:00
arcanis 8f4a2547e8 use api generated docs instead of comments (#92) 2023-04-06 00:24:39 +03:00
arcanis 7f5e541120 execute request in context methods instead of handling them each time
manually
2023-03-23 12:43:04 +02:00
arcanis ec0550a275 Release 2.7.1 2023-03-06 01:15:47 +02:00
arcanis df23be9269 gracefully terminate web server
In previous revisions server was terminated by itself, thus no lock or
socket was removed. In new version, graceful termination of the queue
has been added as well as server now handles singals
2023-03-06 01:13:41 +02:00
arcanis a8c40a6b87 replace InitializeException with InitializeError in docs 2023-03-02 11:07:59 +02:00
arcanis a274f91677 simplify login ttl processing 2023-02-24 16:52:55 +02:00
arcanis 13faf66bdb add more validation rules 2023-02-23 15:18:56 +02:00
arcanis 4fb9335df9 add ability to read cookie secret from config 2023-02-22 18:47:56 +02:00
arcanis d517d8bfbb Release 2.7.0 2023-02-20 03:05:08 +02:00
arcanisandGitHub 37e57c13c8 update dependencies before build (#91)
Old implementation has used add step in order to fetch dependencies,
which could lead to build errors in case if dependency list was updated.

New solution uses dependencies which are declared at current version and
fetch them (if required and if enabled) before update process.

Closes #90
2023-02-12 06:02:30 +03:00
arcanis 19bb19e9f5 handle .gitignore file correctly in remote push trigger 2023-02-11 04:41:24 +02:00
arcanis 3a4e8f4d97 mask mypy warning
The newest mypy produces the following warning:

src/ahriman/application/handlers/search.py:43: error: Non-overlapping identity check (left operand type: "Union[_DefaultFactory[Any], Literal[_MISSING_TYPE.MISSING]]", right operand type: "Type[List[Any]]")  [comparison-overlap]

which is more likely caused by updated dataclass models to protoocol (however decorators are still calllable). This commit masks problematic line from checking
2023-02-09 22:46:08 +02:00
arcanis 4db8ad8e8d hide passwords and secrets from repo-config subcommand by default 2023-02-05 16:44:48 +02:00
arcanis 117f096d41 note about local database update (see #85) 2023-01-31 14:47:58 +02:00
arcanis 917ec48be5 handle architecture specific fields for dependencies
This change requires srcinfo at least 0.1.2 version. Unfortunatelly aur
api don't support architecture specific arrays for now, so we just leave
it as is

Closes #82
2023-01-31 14:34:09 +02:00
arcanis 0a2ba4ae07 filter empty packages from database
In some cases (e.g. during addition of the package to build queue) we don't have
full information about package inself; in these cases we produce lines
with empty architecture, which duplicates normal ones.

This commit changes architecture column type to required and also
filters packages which don't have architecture set yet.

Closes #83
2023-01-30 17:57:13 +02:00
arcanis 9d7f63e549 trim version from provides list
Closes #87
2023-01-30 17:27:34 +02:00
arcanis 25eee9ca5e add ability to suppress http logging errors (#86) 2023-01-30 17:19:01 +02:00
arcanisandGitHub 5af84955ac calculate dependencies based on package information (#89) 2023-01-30 17:28:05 +03:00
arcanis d3ad4c3c08 remove debug line 2023-01-27 16:41:41 +02:00
arcanis 5bbb9d269b Release 2.6.1 2023-01-25 15:28:27 +02:00
arcanis 17466d8d37 make oauth client trully optional (#84)
Same old song, after migraiton to packages some optional modules are
being imported globally which lead to making hard dependency
2023-01-25 15:25:42 +02:00
arcanis 9e4e3b701b enable lock for web service 2023-01-18 01:39:55 +02:00
arcanis c6555cf2c7 Release 2.6.0 2023-01-16 01:35:12 +02:00
arcanis 85baad6a41 add notes about non-x86_64 architecture setup 2023-01-15 18:16:29 +02:00
arcanis 616a1950ae add ability to override pacman mirror in devtools configuration
This commit also extends configuration of the multilib option, adding
the ability to exlcude multilib repository from repositories list

Note, that in order to support repository list and mirror correctly,
alpm configuration section is now architectture specific
2023-01-15 18:05:15 +02:00
arcanis 30b9bcb45a add note about other authroization options to gitremote triggers 2023-01-13 17:27:19 +02:00
arcanis d7356926c4 consider vcs flag and vcs_allowed_age during local packages update 2023-01-12 15:37:05 +02:00
arcanis 43a7d09cab add ability to check for service updates 2023-01-12 15:37:05 +02:00
arcanis 77954b988b subcommand review
Some commands have been moved to another group and thus having another
default name (old subcommands are still available...for now):

* daemon -> repo-daemon
* key-import -> service-key-import
* repo-clean -> service-clean
* repo-config -> service-config
* repo-config-validate -> service-config-validate
* repo-setup -> service-setup
* repo-shell -> service-shell
* version -> help-version
2023-01-12 15:37:05 +02:00
arcanis 0239fb50b6 expose trigger configuration schema
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)
2023-01-10 03:33:52 +02:00
arcanisandGitHub d942a70272 add config validator subcommand (#80)
* add config validator subcommand

* add --exit-code flag

* docs & faq update
2023-01-09 18:22:29 +03:00
arcanis 1f07a89316 sort unsafe commands response 2023-01-04 18:00:10 +02:00
arcanis 014007ade3 review unsafe commands access
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)
2023-01-04 17:45:44 +02:00
arcanis 730f3ca0c9 copyright update 2023-01-04 03:43:10 +02:00
arcanis 42c13b5d4b Release 2.5.4 2023-01-03 01:59:25 +02:00
arcanis 04e5a263b7 add notes about documentation and methods inside class
Because I always forget which way I used before
2023-01-03 01:53:10 +02:00
arcanis caca1576c8 Correct way to allow setting context with existing
This reverts commit 5c4d3eeffd.

Original solution has introduced special workaround (strict flag) which
contradicts the concept of immutable context. Moreover, it introduces
possible side-effects, because child process will use the one set by
parent instead of having own one.

The correct solution is to re-create context in process entry point

Sorry, it was Jan 1 and I was drunk :(
2023-01-03 00:48:14 +02:00
arcanis 98f2f19d5b Release 2.5.3 2023-01-02 03:24:11 +02:00
arcanis 5c4d3eeffd allow setting context with existing
In case of running command from web interface, it will raise exception
because context has been copied with subprocesses
2023-01-02 03:21:15 +02:00
arcanis 84d4523e85 Release 2.5.2 2023-01-02 01:57:09 +02:00
arcanis 2c2eae2334 remote all gitfiles in git remote trigger
In case if there is .gitignore file with asterics, the pkgbuild upload
would not appear
2023-01-02 01:45:50 +02:00
arcanis 214d6d7fdd Release 2.5.1 2022-12-31 14:58:37 +02:00
arcanis e9512e9a6a remote log for calculate version as it cleans logs 2022-12-31 14:48:21 +02:00
arcanis f984ea75d0 fully lazy handle load
In case of immediate handle load it would try to sync databases (or at
least to create database files), which is not possible in case if
command is run as non-ahriman user. This commit makes handle load lazy
and allows to run some commands as non-ahriman user
2022-12-31 14:48:21 +02:00