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
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
a36b188938
Port index page
2023-08-13 23:06:05 +02:00
3bfae9c0ad
Port worker page
2023-08-13 23:02:18 +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
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
22efa5bfc9
Save work before fetching queue
2023-08-12 14:34:03 +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
f79468c871
Fix incorrect HashSet import
2023-08-12 02:16:05 +02:00
9744d5c059
Add todos
2023-08-11 21:47:58 +02:00
48693d3f1c
Add "Enqueue" button to commits
2023-08-11 16:50:32 +02:00
5e0b8e3c8c
Store finished work in db
2023-08-11 15:16:20 +02:00
a9e08505bc
Stream repo and bench repo worktree tars
2023-08-11 14:42:39 +02:00
6f4793bcf2
Rename runners to workers
2023-08-11 02:12:38 +02:00
7911a67906
Overhaul runner protocol
...
The JSON should now be nicer to work with.
2023-08-11 02:12:38 +02:00
b16b3a668e
Fix runners not disappearing
2023-08-11 02:12:38 +02:00
2079d0b12d
Fix /api/runner/status
2023-08-11 02:12:38 +02:00
f3d646c8d5
List runners in queue
2023-08-10 23:04:34 +02:00
c3c597897c
Add typed commit links
2023-08-10 22:04:30 +02:00
0253d2d90b
Add /runner/:name endpoint
2023-08-10 21:26:57 +02:00
d5a41abaff
Remove /commit/ endpoint
2023-08-10 20:40:41 +02:00
c713abc5d3
Implement /api/runner/status
2023-08-10 18:47:44 +02:00
8005718584
Generate random runner tokens
2023-08-10 17:50:23 +02:00
f84a5b288e
Add --bench-script cli arg
2023-08-10 17:50:23 +02:00
e5de9ccb97
Identify queue items by commit hash, not id
2023-08-09 16:20:20 +02:00
04212dff1c
Make repo optional
2023-08-09 14:13:17 +02:00
8b53a22b78
Make web server address configurable
2023-08-09 00:03:34 +02:00
26ee2ff019
Process config before using it
2023-08-07 15:08:02 +02:00
7635af88cd
Move util module to server module
2023-08-07 14:51:26 +02:00
9bdfc79c8b
Restructure server around Server struct
2023-08-07 14:43:36 +02:00
45abda2b6d
Move server code into its own module
2023-08-07 14:23:47 +02:00