diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2025-04-09 14:14:10 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-04-11 13:02:25 +0000 |
| commit | 27ba3dade815757a586b8f5a994ff675786ca212 (patch) | |
| tree | 1e6ad4457680317036bf27a694aab4e09d667501 /syz-cluster/workflow | |
| parent | 12ba9c21547f0ea81d8ca844847dd4d25fdb1a83 (diff) | |
syz-cluster: share the series skip reason
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.
Diffstat (limited to 'syz-cluster/workflow')
| -rw-r--r-- | syz-cluster/workflow/triage-step/main.go | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/syz-cluster/workflow/triage-step/main.go b/syz-cluster/workflow/triage-step/main.go index d284c24fd..14bae39f5 100644 --- a/syz-cluster/workflow/triage-step/main.go +++ b/syz-cluster/workflow/triage-step/main.go @@ -7,7 +7,9 @@ import ( "context" "flag" "fmt" + "os" + "github.com/google/syzkaller/pkg/debugtracer" "github.com/google/syzkaller/pkg/osutil" "github.com/google/syzkaller/syz-cluster/pkg/api" "github.com/google/syzkaller/syz-cluster/pkg/app" @@ -65,7 +67,7 @@ func getVerdict(ctx context.Context, client *api.Client, ops triage.TreeOps) (*a if tree == nil { return &api.TriageResult{ Skip: &api.SkipRequest{ - Reason: "no suitable kernel tree found", + Reason: "no suitable base kernel tree found", }, }, nil } @@ -80,22 +82,24 @@ func getVerdict(ctx context.Context, client *api.Client, ops triage.TreeOps) (*a // TODO: the workflow step must be retried. return nil, fmt.Errorf("failed to query the last build: %w", err) } - selector := triage.NewCommitSelector(ops) - commit, err := selector.Select(series, tree, lastBuild) + selector := triage.NewCommitSelector(ops, &debugtracer.GenericTracer{ + TraceWriter: os.Stderr, + }) + result, err := selector.Select(series, tree, lastBuild) if err != nil { // TODO: the workflow step must be retried. return nil, fmt.Errorf("failed to run the commit selector: %w", err) - } else if commit == "" { + } else if result.Commit == "" { return &api.TriageResult{ Skip: &api.SkipRequest{ - Reason: "no suitable commits found", + Reason: "failed to find the base commit: " + result.Reason, }, }, nil } base := api.BuildRequest{ TreeName: tree.Name, ConfigName: tree.KernelConfig, - CommitHash: commit, + CommitHash: result.Commit, Arch: arch, } ret := &api.TriageResult{ |
