e253848a15
Rely on the default error page triggering for 404s
...
It is not immediately obvious how to avoid the error handler making a
different 404 response when the application code returns an explicit 404
page. Since we were already replying "Resource not found" in all cases
except one where we reply "File not found" not much is lost by relying
on the error handler behavior.
2022-07-15 11:16:01 +02:00
234c7a0cb2
Refactor not found logic
2022-07-15 11:13:11 +02:00
9416e0552d
error_handler: only show not found for `Not_Found
...
For all other error status codes we just pass on the suggested response.
2022-07-15 10:51:57 +02:00
rand00
f3d8eea546
Fixed unused param + simplification
2022-07-15 10:51:57 +02:00
rand00
ffc062727a
Views: Cleanup
2022-07-15 10:51:57 +02:00
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