Commit graph

110 commits

Author SHA1 Message Date
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
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
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
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
43b9bf93ed Remove trailing whitespace 2022-02-07 13:51:56 +00:00
rand00
db3f87934b Views++: Made long parameter-lists into named parameters 2022-02-03 13:27:22 +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
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
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
86b5bf870d Builder_web.treemap_visualization_cmd: More informative param-name 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
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
ade1ea3a38 Builder_web.job_build_treemap: Changed title of excluded treemap chunks 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
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
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
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
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
740e76b73e remove comment about missing failed-builds page 2021-11-17 14:37:25 +00:00
Robur
c566cd0215 Work towards failed-builds page 2021-11-17 14:02:04 +00:00
Robur
e15bd00fe5 improve comparison page and always link with current build as head (right_build) 2021-11-12 13:01:20 +00:00
1dd1fe54ba Add breadcrumb navigation
Fixes #59.
2021-11-12 12:37:25 +00:00
Robur
16748b8995 Show builds by platform 2021-11-08 15:03:19 +00:00