rand00
3e23b4a5bf
Implemented general error-handler + Added special error-page for iframes/vizs
2022-07-15 10:51:57 +02:00
76f96b47b2
map_err and bind_lwt_err will be deprecated with lwt.5.6.0
2022-07-12 13:23:23 +02:00
cb43734b7b
Refactor and address #127
2022-07-12 13:14:52 +02:00
rand00
148ddacbe8
Add tests for router/Link module
2022-07-12 13:14:52 +02:00
rand00
c533ea7c07
Made Builder_web.routes be a list of methods, routes and handlers - to become testable without depending on DB
2022-07-12 13:14:52 +02:00
rand00
93dc0d6d87
Made all links safe via a Links module
2022-07-12 13:14:52 +02:00
0be38475b7
builder-web: Inform expected version on wrong ver. ( #121 )
...
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/121
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Co-committed-by: Reynir Björnsson <reynir@reynir.dk>
2022-06-22 08:20:29 +00:00
071183ff6c
Add GZip support when we generate a tar archive ( #119 )
...
Fixes #116 .
Co-authored-by: Romain Calascibetta <romain.calascibetta@gmail.com>
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/119
Co-authored-by: dinosaure <romain.calascibetta@gmail.com>
Co-committed-by: dinosaure <romain.calascibetta@gmail.com>
2022-06-21 15:17:50 +00:00
rand
5307a7b91a
add builder-db verify-cache-dir
command ( #113 )
...
Co-authored-by: rand00 <oth.rand@gmail.com>
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/113
Co-authored-by: rand <rand@r7p5.earth>
Co-committed-by: rand <rand@r7p5.earth>
2022-06-16 09:03:05 +00:00
09a180c3cd
Automatic viz migration on builder-web startup ( #111 )
...
Co-authored-by: rand00 <oth.rand@gmail.com>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/111
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Co-committed-by: Reynir Björnsson <reynir@reynir.dk>
2022-06-08 10:18:46 +00:00
702d38a6cc
Use Not found for missing visualizations
2022-04-22 12:41:55 +01:00
3de78b1113
Update to dream.1.0.0~alpha4
...
- Dream.path is deprecated. For now the deprecation is suppressed.
- Remove unused dream_svg.
- Remove datadir global. The datadir variable is in scope already, and
global variables were removed in alpha3.
- Dream_tar.tar_response: flush before closing. It's unclear if this is
necessary.
- Change Builder_web.add_routes to Builder_web.routes returning a list
of routes, and in Builder_web_app construct the router.
- Builder_web.not_found is removed due to changes in Dream.router. It
seems an error handler might be the way forward.
2022-04-22 12:37:01 +01:00
6190347401
use ignorelist to transmit the intention
2022-04-21 20:55:19 +02:00
rand
0f493e9b47
Removing trailing slashes ( #80 )
...
This PR solves the issue of there being both "<url>/" and "<url>" paths, that in the builder-web context shouldn't mean different things.
The slashes are now removed using a `Dream` middleware, and the request is redirected using a permanent redirect (that doesn't change the method used): https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location
Notable changes:
* Trailing slashes from the hardcoded link urls were removed, as unneccesary redirects are then avoided.
* All links in `Views` were rewritten to be absolute instead of relative.
* As `Dream` deprecated `path` - `Utils.Path` was created containing some helpers for manipulating paths. *Note that `String.split_on_char` has a different semantics.*
* A blacklist `routeprefix_blacklist_when_removing_trailing_slash` was added, containing `Dream` route-prefixes to ignore.
* Only `GET` and `HEAD` requests are redirected.
* `redirect_parent` helper was rewritten using new `Utils.Path` functions to avoid brittle string manipulation + fixed the edgecase of redirecting to `/`.
* Added `Uri` dependency to make URL manipulation safer.
Co-authored-by: rand00 <oth.rand@gmail.com>
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/80
Co-authored-by: rand <rand@r7p5.earth>
Co-committed-by: rand <rand@r7p5.earth>
2022-04-21 10:40:21 +00:00
rand00
010197d900
Builder_web: Fixed type-errors + usage of correct dream queries helper
2022-04-11 18:19:54 +02:00
rand00
8f173295ab
Merge branch 'main' into redirect-job-and-build
2022-04-11 18:13:12 +02:00
a132a181c8
add ? before query parameters
2022-04-11 17:08:10 +02:00
3bee8a357d
add query params to redirect
2022-04-11 16:54:28 +02:00
4c3a5986d6
Redirect /job to / and /job/:job/build to /job/:job
...
replaces #81
2022-04-11 16:23:45 +02:00
rand00
1207ddbf70
Merge branch 'main' into 20220329_passing_separate_cache-dir
2022-04-06 13:31:42 +02:00
rand
258ffbd979
Merge branch 'main' into 20220325_viz_descriptions
2022-03-30 10:26:00 +00:00
rand00
ab3be6ec8e
builder-web: Added --cachedir CLI arg for staging new vizs
2022-03-29 22:27:24 +02:00
rand00
1827320f8c
Builder_web: Removed boilerplate for generating vizs
2022-03-29 14:00:13 +02:00
rand00
ef253b7b87
Views: Added usage-descriptions on mouse-over on '?' below each visualzation (not mobile compatible)
2022-03-29 12:56:11 +02:00
rand00
d90cbea35c
Views: Removed visual border from viz iframes + size fix
2022-03-23 20:38:22 +01:00
eef8e54776
Include more information on the front page, especially how unikernels can be executed.
2022-03-03 11:36:09 +01:00
Robur
9cf112a9ac
Fix error when reading solo5 manifest
...
Also simplify solo5 manifest code.
2022-02-25 11:21:16 +00:00
d6098cfa91
minor stylistic adjustments from reading git diff -w 0afec16..6f3c89c
2022-02-24 14:05:06 +01:00
6f3c89c91d
display visualizations from cache, generate visualizations on upload ( #90 )
...
This is #88 (reading visualiations from the cache directory), together with shell scripts that can be used as upload hooks to generate the visualizations.
Co-authored-by: rand00 <oth.rand@gmail.com>
Co-authored-by: Hannes Mehnert <hannes@mehnert.org>
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Co-authored-by: Robur <team@robur.coop>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/90
Co-authored-by: hannes <hannes@mehnert.org>
Co-committed-by: hannes <hannes@mehnert.org>
2022-02-24 11:52:05 +00:00
923bc3d9d4
Add Solo5 device manifest to job_build
...
A user browsing a build can view what network and block devices the
unikernel expects before downloading the unikernel.
2022-02-23 14:09:09 +00:00
Robur
72393c9098
Model.add_build: pass --platform=<build-platform> to hook scripts
2022-02-21 14:50:41 +00:00
f7bc55f2e3
execute all executables in <conigdir>/upload-hooks when an upload succeeded
...
Only uploads with a single main binary invoke the hooks (since they use the
main_binary)
2022-02-21 13:05:16 +00:00
rand00
550dd59a19
Builder-web: Implemented better page-not-found
2022-02-21 12:13:51 +00:00
rand00
9333773335
Views: Fixed issue #70 : Platform query-param is preserved in Job links
2022-02-08 10:54:13 +00:00
d89c5f5a1b
Unify layout, centered horizontally
...
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/74
2022-02-07 15:38:12 +00:00
43b9bf93ed
Remove trailing whitespace
2022-02-07 13:51:56 +00:00
rand00
a601c143d6
Views.Job_build: Fixed for 80-col rule
2022-02-03 20:15:14 +01:00
rand00
7633b63f21
Views.Job_build: Avoiding too much indentation with current ocp-indent settings via less nesting
2022-02-03 20:11:36 +01:00
rand00
cb11326cd4
Views.Job_build: Separated body html out into named functions
2022-02-03 20:06:55 +01:00
rand00
a28b0829b3
.ocp-indent & Views: Changed max_indent to 4 - the default
2022-02-03 19:39:51 +01:00
rand00
5a6ce19c33
Views.Job: Separated nested list-generation out into named functions
2022-02-03 14:50:17 +01:00
rand00
f0632dff6f
Views: More syntax + separated out failed-builds footer in Builds
2022-02-03 14:42:33 +01:00
rand00
b0fc7c1d9d
Views.breadcrumbs: Consistent style of multiline tuples in list
2022-02-03 14:38:48 +01:00
rand00
f1214e01a3
Views: Syntax betterings for readability
2022-02-03 14:32:04 +01:00
rand00
82bcdf9f3b
Views: Removed some opened records in parameters -
...
.. prefix with record-name is more safe and less cumbersome
2022-02-03 14:06:11 +01:00
rand00
126fe38465
Views: Configured .ocp-indent.conf to sensible defaults, and indented everything with this. Settings are:
...
normal
base = 2
type = 2
in = 0
with = 0
match_clause = 2
ppx_stritem_ext = 2
max_indent = 2
strict_with = never
strict_else = always
strict_comments = false
align_ops = true
align_params = auto
2022-02-03 14:00:24 +01:00
rand00
87442c4a09
Views: Builds: Separated html-generation out into named functions for ease of reading
2022-02-03 13:50:37 +01:00
rand00
b631b05de2
Views: Syntax
2022-02-03 13:28:16 +01:00
rand00
db3f87934b
Views++: Made long parameter-lists into named parameters
2022-02-03 13:27:22 +01:00
rand00
3680336b22
Views: Removed outcommented + fixed some 80-col problems
2022-02-03 12:57:21 +01:00
rand00
f8b17e6b17
Views: Removed global open of Tyxml.Html and switched to prefix -
...
.. there are too many common names in this modules scope, and code gets easier to understand
.. also I don't think global open is a good idea in general for this kind of module, so better
to fix this style now than be sorry later
2022-02-03 12:54:02 +01:00
rand00
ae5c5cb67d
Views: Using ocp-indent to indent everything consistently + fixed code aesthetics (80 char rule etc.)
2022-02-02 23:27:25 +01:00
rand00
c17802d84f
Views++: Factored Job.Build to Job_build + Renamed Builder to Builds to avoid collision with lib
2022-02-02 23:03:16 +01:00
rand00
7358567e55
Utils: Moved omd-helpers into Omd submodule here
2022-02-02 22:59:32 +01:00
rand
f3aa2a2c90
Safer Lwt_process usage for calling builder-viz cmd ( #71 )
...
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Co-authored-by: rand00 <oth.rand@gmail.com>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/71
Co-authored-by: rand <rand@r7p5.earth>
Co-committed-by: rand <rand@r7p5.earth>
2022-02-02 14:50:44 +00:00
6a645b7358
Merge branch 'tar'
2022-02-01 12:21:56 +00:00
3fe07c7b34
Clean up trailing spaces
2022-02-01 11:43:07 +00:00
rand00
d6c04e861e
Views: Removed usage of containers
2022-02-01 11:30:44 +00:00
rand00
161fec77af
Views: Using Option.of_list
2022-02-01 11:30:44 +00:00
rand00
b564191b81
Re-enabled warnings as errors in dune file + fixed unused 'id' in builder_web.ml
2022-02-01 11:30:44 +00:00
rand00
8897f525fe
Builder_web: visualization_cmd: Changed bin to be 'builder-viz' + let it be searched in PATH
2022-02-01 11:30:44 +00:00
rand00
5a9c1237a1
Builder_web: Added timeout to visualization_cmd Lwt_process.pread
2022-02-01 11:30:44 +00:00
rand00
2a1b75ba2b
Removals of uncommented code and unneccesary parens
2022-02-01 11:30:44 +00:00
rand00
6f95f7e965
Views: Switch viz order + fixed iframe size
2022-02-01 11:30:44 +00:00
rand00
86b5bf870d
Builder_web.treemap_visualization_cmd: More informative param-name
2022-02-01 11:30:44 +00:00
rand00
1bba2d7855
Views: Adjusted height of deps viz iframe again
2022-02-01 11:30:44 +00:00
rand00
c80ee590bd
New centered flex-layout for builds page with 2 columns + some refactorings around Views
2022-02-01 11:30:44 +00:00
rand00
915468bbf1
Views: Adjusted height of deps viz iframe
2022-02-01 11:30:44 +00:00
rand00
48ba9b7bfe
Views: Also rendering dependencies for non-binary packages
2022-02-01 11:30:44 +00:00
rand00
64cf4fc350
Added dependencies visualization to builds pages
2022-02-01 11:30:44 +00:00
rand00
dde9d5b2da
Builder_web.job_build_treemap: Calculating treemap visualization via CLI call to new binary
...
.. this doesn't block server on requests, as Lwt IO is run in parallel
2022-02-01 11:30:44 +00:00
rand00
afbf9357b0
lib/dune: Added opam-graph
2022-02-01 11:30:44 +00:00
rand00
6658244a18
Views: Only rendering treemap for unikernels with '.debug' artifact
2022-02-01 11:30:44 +00:00
rand00
ade1ea3a38
Builder_web.job_build_treemap: Changed title of excluded treemap chunks
2022-02-01 11:30:44 +00:00
rand00
c6ff42d391
Views: Fix fize of treemap
2022-02-01 11:30:44 +00:00
rand00
a0254b3e70
Builder_web.job_build_treemap: Changed title of new excluded treemap chunks
2022-02-01 11:30:44 +00:00
rand00
82c5614440
Builder_web.job_build_treemap: Calculating extra chunks inserted in treemap-scale
2022-02-01 11:30:44 +00:00
rand00
fdd00a17ab
Builder_web.job_build_treemap: Changed minimal size of treemap node based on example treemap
2022-02-01 11:30:44 +00:00
rand00
b8c40861f3
Builder_web.job_build_treemap: Implementing partitioning of Info tree
2022-02-01 11:30:44 +00:00
rand00
79c40473b4
Views: Changed background color
2022-02-01 11:30:44 +00:00
rand00
6a70220dee
Removed debug-printing + Adjusted size of treemap iframe
2022-02-01 11:30:44 +00:00
Robur
07b5daff9f
Fix to the code extracting binary size for treemap visualization
2022-02-01 11:30:44 +00:00
rand00
d247846e35
WIP: debugging
2022-02-01 11:30:44 +00:00
rand00
462bbf5942
Treemap scale: Passing on binary-size to new Treemap renderer
2022-02-01 11:30:44 +00:00
rand00
c9ab07832e
Views: Removed old code
2022-02-01 11:30:44 +00:00
rand00
4e2d069b26
Views: Chosen a static width relative to textsize for treemap
2022-02-01 11:30:44 +00:00
rand00
b52e3bc0b0
Views: Rewrote static css to be one big string instead
2022-02-01 11:30:44 +00:00
rand00
5548c04a3e
Several changes related to treemap rendering:
...
* Rendering treemap in build-page as iframe, as the svg needs static CSS classes to work; and static CSS doesn't compose
* Added 'include_static_css' param to Views.layout (useful for later)
* Added Builder_web.dream_svg helper if we want to serve a svg directly
2022-02-01 11:30:44 +00:00
Robur
7fa8402eee
use modulectomy to render svg of the unikernel binaries
2022-02-01 11:30:44 +00:00
92a43fbfdd
Add .../all.tar endpoint with artifacts
...
One stop shop for all the build artifacts!
2022-01-25 20:01:08 +00:00
Robur
8489d1ff36
Remove README from build page
2021-12-02 14:49:45 +00:00
Robur
19633e84ea
Reuse DB connection for consequtive queries
2021-12-02 13:58:44 +00:00
Robur
0afec1617b
markdown sanitization, addresses issue #46
2021-12-02 11:27:00 +00:00
68237ef382
Rewrite queries to take optional platform
...
A number of queries were the same except one would take another string
argument and add `AND platform = $N` in its WHERE clause. This commit
merges them and does `AND ($N IS NULL OR platform = $N)` and the client
code in Model doesn't have to check the string option.
2021-11-18 11:56:17 +01:00
Robur
088b55acc3
remove failed builds from job page
...
add a job page with failed builds, link to it
2021-11-17 16:39:49 +00:00
Robur
2e82778e87
Only show successful builds on the front page
...
Failed builds can be viewed on the linked /failed-builds/ page.
2021-11-17 16:00:58 +00:00
Robur
e1d950ad5b
link to failed-builds, paginate failed-builds
2021-11-17 15:54:13 +00:00
Robur
0910a05bbd
builds: improve comparisons (text and query) to earlier and later builds
...
only take into consideration the builds that have a different output
2021-11-17 15:28:15 +00:00
Robur
e5168e1b4f
Display timestamps without time zone offset, use Z instead to indicate time zone offset 0
2021-11-17 14:44:41 +00:00
Robur
740e76b73e
remove comment about missing failed-builds page
2021-11-17 14:37:25 +00:00