aboutsummaryrefslogtreecommitdiffstats
path: root/syz-cluster/dashboard/handler.go
Commit message (Collapse)AuthorAgeFilesLines
* syz-cluster: show series versions in the dashboardPimyn Girgis2026-01-081-0/+6
| | | | | | Display a list of other versions of the same series on the series details page. Fetch all series sharing the same title and render them in a new "Series Versions" table, allowing navigation between different versions of a patch series.
* syz-cluster: add filtering by series and patch namePimyn Girgis2026-01-081-0/+1
| | | | | Update SeriesFilter in pkg/db to include PatchName and SeriesName fields, implement the SQL logic to filter by these fields case-insensitively, and expose these filters in the dashboard UI.
* all: remove unused nolint directivesDmitry Vyukov2026-01-021-1/+0
|
* syz-cluster: add link to download the whole seriesAleksandr Nogikh2025-10-271-0/+23
| | | | | This will simplify debugging of mistriaged patch series that ended up either not applying anywhere or ended up with a build error.
* syz-cluster: extend dashboard testingAleksandr Nogikh2025-10-171-0/+3
| | | | | | | Check a few more URLs. Add a TODO about the problem around template error handling - if we stream the output directly to w, we cannot set the 500 status if a problem happens somewhere mid-template.
* syz-cluster: display the reports count graphAleksandr Nogikh2025-10-171-0/+5
| | | | | | Apart from just the total number of findings (some of which may end up being non-reported), also display specifically the number of reports that have found their way to the mailing lists.
* syz-cluster: display statisticsAleksandr Nogikh2025-08-141-5/+38
| | | | | | | Add a web dashboard page with the main statistics concerning patch series fuzzing. Improve the navigation bar on top of the page.
* syz-cluster: upload and share build config and logAleksandr Nogikh2025-07-141-1/+22
|
* syz-cluster: generate web dashboard URLs for reportsAleksandr Nogikh2025-07-141-5/+1
| | | | | Take web dashboard URL from the config and use it to generate links for logs, reproducers, etc.
* syz-cluster: make reports more detailedAleksandr Nogikh2025-07-141-1/+1
| | | | | | | Fill in build details per each finding and display that information in the report email. Extend the test that verifies how api.SessionReport is filled.
* syz-cluster: make the displayed title configurableAleksandr Nogikh2025-07-081-2/+19
|
* syz-cluster: save and display reproducers for findingsAleksandr Nogikh2025-06-231-0/+14
|
* syz-cluster: display the skipped statusAleksandr Nogikh2025-04-151-0/+1
| | | | | If the series was skipped during triage, show that in the status and let users filter by it.
* syz-cluster: share and display triage logsAleksandr Nogikh2025-04-111-0/+12
| | | | For now, only share it for the skipped series.
* syz-cluster/dashboard: share test step artifactsAleksandr Nogikh2025-04-111-1/+15
| | | | If the test artifacts are present, let the user download them.
* syz-cluster: filter by series with findingsAleksandr Nogikh2025-04-101-4/+5
| | | | Add a checkbox to only display the series for which there are findings.
* syz-cluster: add paginationAleksandr Nogikh2025-04-081-2/+40
| | | | | Add simple Previous/Next navigation for the list of series. For now, just rely on SQL's LIMIT/OFFSET functionality.
* syz-cluster: filter by the session statusAleksandr Nogikh2025-04-081-4/+15
| | | | Update the Web UI to have a filter form on top of the index page.
* syz-cluster: display and filter by Cc listAleksandr Nogikh2025-03-111-3/+8
| | | | | For each series, display the Cc'd email list and let users filter the patch series list by those addresses.
* syz-cluster: report session resultsAleksandr Nogikh2025-02-141-1/+1
| | | | | | | | | | | | Provide an API to set up the reporting of finished sessions for which syz-cluster collected reportable findings. The actual sending of the results is to be done in a separate component that would: 1) Call Next() to get the next report to send. 2) Call Confirm() to confirm that the report has been sent. 3) Call Upstream() if the report has been moderated and needs to be sent to e.g. public mailing lists.
* syz-cluster: report series/sessions via APIAleksandr Nogikh2025-02-141-5/+7
| | | | | | | | | | | | | | | | | | | | | | In the previous version of the code, series-tracker was directly pushing patch series into the DB and the controller auto-created fuzzing sessions. Mediate these via the controller API instead. Instead of creating Session objects on the fly, pre-create them and let processor take them one by one. The approach has multiple benefits: 1) The same API might be used for the patch series sources other than LKML. 2) If the existence of Session objects is not a sign that we have started working on it, it allows for a more precise status display (not created/waiting/running/finished). 3) We could manually push older patch series and manually trigger fuzzing sessions to experimentally measure the bug detection rates. 4) The controller tests could be organized only by relying on the API offered by the component.
* syz-cluster/dashboard: unify http handlersAleksandr Nogikh2025-02-041-63/+75
| | | | | Convert errors to HTTP statuses in a uniform way. Move http routes construction from main.go to handler.go.
* syz-cluster: store session test logsAleksandr Nogikh2025-02-041-0/+12
| | | | Record the logs from the build and fuzzing steps.
* syz-cluster/dashboard: display logs and reports of findingsAleksandr Nogikh2025-02-041-0/+20
|
* syz-cluster: use Request.Context()Aleksandr Nogikh2025-01-271-7/+4
|
* syz-cluster/dashboard: unexport DashboardHandlerAleksandr Nogikh2025-01-221-8/+8
|
* syz-cluster: add support for findingsAleksandr Nogikh2025-01-221-5/+31
| | | | | Findings are crashes and build/boot/test errors that happened during the patch series processing.
* syz-cluster: initial codeAleksandr Nogikh2025-01-221-0/+162
The basic code of a K8S-based cluster that: * Aggregates new LKML patch series. * Determines the kernel trees to apply them to. * Builds the basic and the patched kernel. * Displays the results on a web dashboard. This is a very rudimentary version with a lot of TODOs that provides a skeleton for further work. The project makes use of Argo workflows and Spanner DB. Bootstrap is used for the web interface. Overall structure: * syz-cluster/dashboard: a web dashboard listing patch series and their test results. * syz-cluster/series-tracker: polls Lore archives and submits the new patch series to the DB. * syz-cluster/controller: schedules workflows and provides API for them. * syz-cluster/kernel-disk: a cron job that keeps a kernel checkout up to date. * syz-cluster/workflow/*: workflow steps. For the DB structure see syz-cluster/pkg/db/migrations/*.