Commit graph

3358 commits

Author SHA1 Message Date
fef6513cc8
Alpine Linux requires the linux-headers package to build psutil.
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-15 11:40:02 +02:00
00863a176e
Added application plugin.
Some checks failed
continuous-integration/drone/push Build is failing
2023-08-15 11:20:24 +02:00
f51beb271e
Large refactor + stability fixes for the external process control logic. 2023-08-15 11:12:21 +02:00
46245e851f
Synchronize with the currently running stop thread (if any) in Backend.wait_stop. 2023-08-15 02:08:47 +02:00
a8a7ceb2ac
Implemented HttpBackend._stop_workers.
The Tornado WSGI container won't guarantee the termination of the
spawned workers upon termination, so the code of the backend has to take
care of it and terminate all the children processes of the server
process when it terminates.

This also means that `psutil` is now a required base dependency, as we
need to expand the process subtree under the webserver launcher.
2023-08-15 00:13:34 +02:00
04921c759f
Added wait_stop method to the entities engine and cron scheduler. 2023-08-14 23:49:47 +02:00
ceb9d6d1ba
Removed redundant Backend._get_redis() method.
It was used only once, and it could easily be replaced by
`platypush.utils.get_redis()`.
2023-08-14 23:37:38 +02:00
7157936b87
Added get_remaining_timeout utility function. 2023-08-14 23:17:50 +02:00
dc1a152433
Added get_default_pid_file utility method. 2023-08-14 10:47:25 +02:00
c11bc69a66
Handle KeyboardInterrupt and process return code in the main. 2023-08-13 23:55:40 +02:00
8819a0ed4c
Added CommandStream to the main Application.
The stream will be used to communicate command messages from the
application to its runner.
2023-08-13 23:51:21 +02:00
06111587f7
Added CommandStream class.
This abstraction is used to write and read commands over a UNIX socket.
2023-08-13 23:37:51 +02:00
c89f992867
Added StopCommand and RestartCommand. 2023-08-13 23:36:36 +02:00
b1f244a812
Added ControllableProcess class.
This class can be used to easily control the execution of underlying
processes.
2023-08-13 23:33:08 +02:00
efef9d7bc0
Added commands module. 2023-08-13 23:21:36 +02:00
97adc3f775
Moved application argument parser to an external platypush.cli module. 2023-08-13 22:27:16 +02:00
1819ee75ef
s/Application.stop_app/Application.stop/g 2023-08-13 22:23:15 +02:00
827b564006
Using a single constant for DEFAULT_REDIS_QUEUE.
Also, catch `AttributeError` on `self._proc.terminate` in the
`HttpBackend`, since the process may already have been terminated and
set to null by another worker process.
2023-08-13 22:20:16 +02:00
4062ddbcf0
More improvements to the inspect plugin.
All checks were successful
continuous-integration/drone/push Build is passing
- Support for distinct `type` field on constructor and method arguments.

- Added `has_varargs` field.

- Added `required` field.

- Better logic for parsing arguments `default` values.
2023-08-08 20:47:27 +02:00
9beb0a7af3
Skip :type: annotations from docstring args documentation. 2023-08-08 20:47:27 +02:00
2a30f060b4
Parse the arguments list from obj_type.__init__.__doc__ too. 2023-08-08 20:47:27 +02:00
1474685cc0
[Automatic] Updated UI files
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-06 22:51:57 +00:00
26b4dcba46
Reduced padding of ConfirmDialog body element.
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-07 00:50:10 +02:00
435cbe7b1f
Keep track of the original .git/config path before running cd. 2023-08-07 00:45:51 +02:00
5184543a3e
Normalize the size of the camera frame container from window size.
Some checks failed
continuous-integration/drone/push Build is failing
If the window is smaller than the camera resolution, then we should
scale down the container size accordingly.
2023-08-07 00:38:19 +02:00
8b245a1618
Backup/restore the git configuration in the build-ui step.
All checks were successful
continuous-integration/drone/push Build is passing
This is to ensure that following steps that depend on the default
username and email (e.g. the AUR release step) won't fail because of
mismatching identities.
2023-08-07 00:19:02 +02:00
39fb3026bf
Prevent push loops in build-ui pipeline.
The pipeline should check if the latest commit is an automated UI build
commit before proceeding with a new build.

We need this check in place to prevent pipelines triggered by a push in
another pipeline that end up triggering other pipelines until a manual
cancel.
2023-08-07 00:10:46 +02:00
2005bc9f62
Always run notify-build-status - including on failure. 2023-08-07 00:05:13 +02:00
dd313c6371
[Automatic] Updated UI files
Some checks reported errors
continuous-integration/drone/push Build was killed
2023-08-06 21:50:25 +00:00
2f007888fc
[Automatic] Updated UI files
Some checks failed
continuous-integration/drone/push Build is failing
2023-08-06 21:48:33 +00:00
609a8c6052
[Automatic] Updated UI files
Some checks failed
continuous-integration/drone/push Build is failing
2023-08-06 21:46:44 +00:00
276a9a7421
[Automatic] Updated UI files
Some checks failed
continuous-integration/drone/push Build is failing
2023-08-06 21:44:51 +00:00
715cdcfcff
More consistent style for the buttons on the tokens settings page.
Some checks failed
continuous-integration/drone/push Build is failing
2023-08-06 23:42:50 +02:00
6453b7d391
Explicitly re-add the repo SSH origin and push.
Committing alone doesn't seem to suffice in the build-ui Drone CI step.
2023-08-06 23:40:35 +02:00
bd49e460d5
More style improvements for the user settings panel.
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-06 23:36:06 +02:00
51f907e1b5
Make sure that neither dist nor node_modules are present before building the UI.
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-06 23:19:43 +02:00
6eed558342
More improvements on the users settings panel.
Some checks reported errors
continuous-integration/drone/push Build was killed
2023-08-06 23:14:54 +02:00
d92da5fe6f
Simplified Drone CI DAG.
Removed redundant `depends_on` steps in the pipeline.
2023-08-06 22:36:04 +02:00
2d999c471a
Removed git push from build-ui pipeline.
All checks were successful
continuous-integration/drone/push Build is passing
If my understanding of Drone CI pipelines is correct, the steps are
executed before the push, so any new commits should be pushed too.
2023-08-06 22:31:05 +02:00
a739303041
Added build-ui step to the Drone pipeline.
Some checks failed
continuous-integration/drone/push Build is failing
2023-08-06 22:21:22 +02:00
1d47b35219
Updated UI dependencies 2023-08-06 20:38:46 +02:00
237e0c47cb
Redesigned config panel UI. 2023-08-06 18:49:03 +02:00
d3fce6d922
Added notify-build-status step to Drone pipeline.
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-06 11:14:12 +02:00
ed192faab2
Added notify-release step to Drone pipeline. 2023-08-06 11:08:01 +02:00
7a15c7c749
Added update-pip-package step in Drone pipeline. 2023-08-06 10:49:44 +02:00
063697c824
Remote and branch should be specified in git pull --tags
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-06 00:57:00 +02:00
f9c74a3c98
Git tags lookup only works in Drone pipelines if tags have been pulled.
Some checks failed
continuous-integration/drone/push Build is failing
2023-08-06 00:55:04 +02:00
d887553211
Use HEAD...v${VERSION} to infer the git release number.
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-06 00:48:20 +02:00
cd5c9fd046
Included Arch packages automation in .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-06 00:44:03 +02:00
1a2ab13197
Only rebuild docs when a new version is released.
All checks were successful
continuous-integration/drone/push Build is passing
Also removed the docs build status badge from README, as it is now part
of the standard Drone build process.
2023-08-05 14:43:10 +02:00