aboutsummaryrefslogtreecommitdiffstats
path: root/syz-cluster/pkg
Commit message (Collapse)AuthorAgeFilesLines
...
* syz-cluster: allow finding resubmissionAleksandr Nogikh2025-07-296-38/+132
| | | | | | | | | | Permit the following scenario: a finding is first submitted without a C reproducer and then resubmitted again, now with one. Ensure that it's only possible as long as the session is still in progress. Refactor Finding repository and service and adjust the tests.
* syz-cluster: consider multiple trees during triageAleksandr Nogikh2025-07-282-19/+36
| | | | | | | | | Even if the target tree is specified in the patch title, there happen to be cases when it's actually only applicable to some other trees. So instead of choosing one particular tree and sticking to it, obtain an ordered list of candidates and pick the first to which the series actually applies.
* syz-cluster: always upload triage logsAleksandr Nogikh2025-07-285-17/+20
| | | | | | | | We used to only upload them on triage failure, but let's improve the inspectability even for successfully finished triage jobs. Slightly refactor the controller API around the triage result submission.
* syz-cluster: add bpf tree info and configsAleksandr Nogikh2025-07-241-1/+22
| | | | | | Fuzz bpf patches differently from net patches. Monitor netfilter and bpf mailing lists
* syz-cluster: ask to leave a credit tagAleksandr Nogikh2025-07-237-3/+39
| | | | | Update the email template to include a suggestion to add a Tested-By tag to the affected series.
* syz-cluster: fix the netdev-next tree URLAleksandr Nogikh2025-07-231-1/+1
|
* syz-cluster: configure a Cc list for reported bugsAleksandr Nogikh2025-07-232-1/+4
| | | | Cc syzkaller-bugs@googlegroups.com in all upstreamed syzbot ci findings.
* syz-cluster: prefer net-next and nf-nextAleksandr Nogikh2025-07-221-4/+4
| | | | | | | Current results show that way too many series do not apply to the non-next versions of their corresponding trees. So let's make -next the default choice unless it the opposite was specified in the series subject.
* syz-cluster: add more kernel treesAleksandr Nogikh2025-07-221-10/+41
| | | | | Add several more network-related trees, including those that will only be selected if mentioned directly.
* syz-cluster: consider series subjects during triageAleksandr Nogikh2025-07-222-0/+20
| | | | | If a kernel tree was mentioned in the series subject, pick it regardless of other factors.
* syz-cluster: remember LKML series tagsAleksandr Nogikh2025-07-226-10/+26
| | | | | Sometimes the patch series directly hint at the kernel tree they should be applied to. Extract and remember this information.
* syz-cluster: keep only one Cc list in SessionReportAleksandr Nogikh2025-07-176-9/+12
| | | | | | | | | Currently, the list was both within the Series object and within the SessionReport object that also encloses Series. And, since only was was actually filled, we were unable to actually Cc the people from the series. Keep only the Cc list in the Series object and adjust the tests.
* syz-cluster: remember and share kernel tree URLsAleksandr Nogikh2025-07-1715-27/+50
| | | | | | | | Share not just the tree name (mainline, net, etc), but also the full URL to check out the repository. For that, add one more field to the Build entity and adjust email reporting templates.
* all: apply linter auto fixesTaras Madan2025-07-171-2/+3
| | | | ./tools/syz-env bin/golangci-lint run ./... --fix
* syz-cluster: make single finding emails look more naturalAleksandr Nogikh2025-07-165-5/+117
| | | | Include a list of findings only if there are several of them.
* syz-cluster: include bot's name into the sender emailAleksandr Nogikh2025-07-161-2/+5
| | | | | When sending via dashapi, we used to only include the raw email address. Include the bot's name there as well.
* syz-cluster/pkg/report: don't html escape emailsAleksandr Nogikh2025-07-144-4/+4
| | | | We send plain text emails, there's no reason to escape them.
* syz-cluster: upload and share build config and logAleksandr Nogikh2025-07-149-9/+68
|
* syz-cluster: generate web dashboard URLs for reportsAleksandr Nogikh2025-07-148-21/+112
| | | | | 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-1414-35/+81
| | | | | | | 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: support empty DocLink in the email templateAleksandr Nogikh2025-07-081-0/+2
| | | | We don't have the doc (yet), so let's not mention it.
* syz-cluster: move email sender code to a separate packageAleksandr Nogikh2025-07-084-0/+278
| | | | This will facilitate code reuse.
* syz-cluster: use shorter report IDsAleksandr Nogikh2025-07-082-4/+37
| | | | Since these may be included into email addresses, keep them short.
* syz-cluster: support dashapi senderAleksandr Nogikh2025-07-081-2/+68
| | | | | Refactor the configuration to support both SMTP and dashapi-based email sending functionality.
* syz-cluster: make the displayed title configurableAleksandr Nogikh2025-07-081-0/+3
|
* syz-cluster: make report reply tracking more flexibleAleksandr Nogikh2025-07-0211-86/+31
| | | | | | Replace an UpdateReport() call with a RecordReply(). This will eventually allow us to support the email sender implementations for which we do not immediately know the MessageID of the reported message.
* syz-cluster: save and display reproducers for findingsAleksandr Nogikh2025-06-235-25/+48
|
* syz-cluster: avoid UUIDs in blob storeAleksandr Nogikh2025-06-177-94/+53
| | | | | | | | | | | Make blob store URIs dependent on the IDs explicitly passed into the Write() function. In many cases this removes the need to distinguish between the case when the object has already been saved and we must overwrite it and when it's saved the first time. Keep on first storing the object to the blob storage and only then submitting the entities to Spanner. This will lead to some wasted space, but we'll add garbage collection at some point.
* syz-cluster: fix db-mgmt job problemsAleksandr Nogikh2025-05-231-1/+6
| | | | | Don't restart the job if it returned a non-zero exit code. Don't treat the ErrNoChange error as a failure.
* syz-cluster/pkg/db: test migrationsAleksandr Nogikh2025-05-143-17/+65
| | | | | Add a test that verifies that we have correct down migrations. Fix the down migrations sql file.
* syz-cluster/email-reporter: poll an LKML archive for repliesAleksandr Nogikh2025-05-131-0/+2
| | | | | | | | | | Add the functionality to poll the specified LKML git archive for the new user replies under the bot's messages. Check out the repository and pull it once in the specified time period. Keep track of the latest processed commit hash. Track the original report ID via In-Reply-To references.
* syz-cluster: add reply tracking functionalityAleksandr Nogikh2025-05-1312-14/+428
| | | | | Add API to record replies under the reports that allows to determine the original report only by having the MessageID.
* syz-cluster: make reporter names more specificAleksandr Nogikh2025-05-133-6/+6
| | | | | | | | Since email-reporter is anyway tied to a specific reporting channel, let's keep reporter names less generic. Using "lkml" instead of just "email" will also let us generate proper links to the email discussions based only on Reporter+MessageID.
* syz-cluster: add email-reporter componentAleksandr Nogikh2025-05-091-1/+4
| | | | | Add the high-level logic for the email-reporter component that will be responsible for sending bug reports and reacting to incoming emails.
* syz-cluster: extend EmailConfigAleksandr Nogikh2025-05-093-9/+61
| | | | | Move the configuration from pkg/report to pkg/app and extend it with more information.
* syz-cluster/pkg: refactor testsAleksandr Nogikh2025-05-094-65/+86
| | | | | | | Move more API-related helpers to the controller package to reduce code duplication in tests. Enable other packages to use pkg/reporter in their tests.
* syz-cluster: move reporter-server functionality to packagesAleksandr Nogikh2025-05-093-0/+288
| | | | Enable reuse of the functionality in higher-level tests.
* syz-cluster: support multiple reporter typesAleksandr Nogikh2025-05-096-21/+30
| | | | | Introduce a Reporter column to the SessionReport. For finished reports, store both a MessageID instead of Link.
* syz-cluster: separate global env from global configAleksandr Nogikh2025-04-301-0/+61
| | | | | | | | | Environment variables are convenient for storing values like DB or GCS bucket names, but structured formats are more convenient for the actual service configuration. Separate global-config from global-config-env and add the functionality that queries and parses the config options.
* syz-cluster: clean up running steps of finished workflowsAleksandr Nogikh2025-04-171-8/+12
| | | | | | | | | If the workflow step crashed or timed out, we used to have Running status for such steps even though the session itself may be long finished. In order to prevent this inconsistency, on finishing each session go through all remaining running steps and update their status to Error.
* syz-cluster: enable atomic updates for SessionTestRepoAleksandr Nogikh2025-04-175-18/+28
| | | | | | | | A raw InsertOrUpdate method is not very reliable in case of concurrent update requests. Add a callback inside which the modified fields would be set. Refactor the existing code that used to call the old method.
* syz-cluster: display the skipped statusAleksandr Nogikh2025-04-152-1/+7
| | | | | 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-115-10/+26
| | | | For now, only share it for the skipped series.
* syz-cluster: share the series skip reasonAleksandr Nogikh2025-04-112-26/+38
| | | | | | | | The existing "no suitable commits found" reason is way too ambiguous. Make CommitSelector return the exact reason why it decides not to proceed with the particular patch series and display the reason on the web dashboard.
* syz-cluster: provide API for uploading artifacts archiveAleksandr Nogikh2025-04-117-16/+130
| | | | | | | | | | | The archive would be a useful source of debugging information. Provide an HTTP endpoint that accepts a multipart form request with the archived data. Provide an *api.Client method to encapsulate the encoding of the data. Add a test.
* syz-cluster: filter by series with findingsAleksandr Nogikh2025-04-102-4/+16
| | | | Add a checkbox to only display the series for which there are findings.
* syz-cluster: display the number of findings per seriesAleksandr Nogikh2025-04-102-35/+99
| | | | It will help identify the series to highlight.
* syz-cluster/pkg/db: add a helper classAleksandr Nogikh2025-04-102-14/+70
| | | | | | In the tests, we often spawn different dummy objects. Add a separate helper class to avoid duplicating this code.
* syz-cluster: add paginationAleksandr Nogikh2025-04-083-12/+29
| | | | | 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-083-2/+68
| | | | Update the Web UI to have a filter form on top of the index page.