3c9fc1ce75
Return graph data at /graph/data
2023-08-14 23:45:05 +02:00
3cf444ffc2
Remove todos
2023-08-14 17:51:48 +02:00
b0eb94a02a
Add graph tab
2023-08-14 17:49:21 +02:00
9caf664b10
Set up and document uPlot
2023-08-14 17:45:33 +02:00
8496c557f6
Add option for worker status max body size
2023-08-14 17:45:33 +02:00
f2338a17eb
Add velcom data import script
2023-08-14 17:16:26 +02:00
1ec72c92d5
Allow worker to specify bench method as string
2023-08-14 16:47:00 +02:00
3de35e3ac8
Use RFC 3339 dates in worker endpoint
2023-08-14 16:31:44 +02:00
dd073b4c0d
Include worker name and info in run
2023-08-14 14:26:53 +02:00
01124d719b
Add optional run end time override
2023-08-14 14:15:38 +02:00
6b8ae19ba5
Use advance() instead of split_to()
2023-08-14 14:01:34 +02:00
2620530cc2
Implement queue task deletion
2023-08-14 12:41:47 +02:00
7f975a1fd0
Implement more /admin/queue/* endpoints
2023-08-14 12:23:22 +02:00
1da946be10
Fix recurring task crash
...
It would fail when inserting a commit into the queue that was already in
the queue, instead of just skipping that commit.
2023-08-14 12:23:22 +02:00
2b6c339c70
Port queue page
2023-08-14 12:23:22 +02:00
123c27e5a2
Include hash of static files in paths
...
This way, clients will re-fetch the files whenever their content changes
and not have outdated versions in their cache.
2023-08-14 01:35:52 +02:00
a36b188938
Port index page
2023-08-13 23:06:05 +02:00
3bfae9c0ad
Port worker page
2023-08-13 23:02:18 +02:00
36f275c290
Use / as separator character instead of .
2023-08-13 23:02:18 +02:00
2fee0a618c
Count file stats by dir
2023-08-13 23:02:18 +02:00
55ea5af779
Count file stats ordered by file name
2023-08-13 22:59:45 +02:00
cf8ab2884f
Show finished runs
2023-08-13 22:59:45 +02:00
98132cc00b
Link without creating a Base
2023-08-13 21:26:06 +02:00
373b3168f1
Port commit page
2023-08-13 21:26:06 +02:00
db0234b750
Start page reorganization
2023-08-13 20:50:06 +02:00
1ead78d44f
Make static file links typesafe
2023-08-13 20:49:48 +02:00
e64ea7ac12
Make most links typesafe
2023-08-13 20:49:48 +02:00
30ddf1e9b2
Ensure web_base does not end in /
2023-08-13 19:57:28 +02:00
18e35184a5
Prepare more type-safe linking
2023-08-13 19:53:49 +02:00
4ccf06db8b
Use typed paths for all endpoints
2023-08-13 19:30:52 +02:00
058ed2e85c
Move typed paths to separate module
2023-08-13 19:30:52 +02:00
3d5a277234
Use typed paths in worker
2023-08-13 16:13:59 +02:00
88d9a1f818
Move worker api to server::web::api::worker
2023-08-13 16:04:48 +02:00
087ecfd783
Move /commit/:hash/enqueue to /admin/queue/add
2023-08-13 15:56:34 +02:00
08e240d7db
Fix and add documentation
2023-08-13 01:16:12 +02:00
0bad08eca9
Perform runs with internal bench logic
2023-08-12 21:40:14 +02:00
0196709a64
Make RunInProgress fields private
2023-08-12 21:23:36 +02:00
b7c0443005
Ask servers for runs and perform them
2023-08-12 21:23:36 +02:00
eaca373a6a
Prevent status update race condition
2023-08-12 21:23:36 +02:00
e644f2be65
Send actual runner status to server
2023-08-12 21:23:36 +02:00
c7a89867a7
Restructure shared types and db columns
...
Now, the server sends the runner pretty much all run metadata. This way,
the reservation the server makes for the runner is accurate, providing
the runner responds with the same metadata it was sent. It also means
that only the server's system clock is relevant for tie breakers, and a
run's duration spans from the moment it is reserved to the moment it is
saved.
Also, the bench method is now always called `bench_method` and a
human-readable description is stored in the database for each run.
2023-08-12 21:23:36 +02:00
53be0338f2
Launch idle thread for each server
2023-08-12 21:23:36 +02:00
4f63b02509
Fix and simplify tar downloads
2023-08-12 19:19:43 +02:00
81328fcf04
Start reimplementing worker
2023-08-12 19:19:43 +02:00
22efa5bfc9
Save work before fetching queue
2023-08-12 14:34:03 +02:00
416e3e6aa1
Implement internal runner
2023-08-12 14:21:48 +02:00
d15d6588f7
Improve and fix runner API
...
- The server now also signals abort_work if the commit is no longer in
the queue.
- The server now immediately reserves the work it gives to the worker,
so other idle workers won't get the same work.
- The server now chooses a run id, not the worker. The worker can still
submit work under arbitrary run ids when no id is known, for example
when importing runs from another database.
2023-08-12 13:19:16 +02:00
dd45be98a5
Add todo
2023-08-12 02:33:08 +02:00
9fc7c22ae8
Dispatch based on bench method
2023-08-12 02:26:15 +02:00
b23fc6460f
Start runs and coordinate with server
2023-08-12 02:16:05 +02:00