Skip to content

Commit 21ea1e2

Browse files
authored
fix: worker cmd list all run results (#6460)
1 parent 38c942a commit 21ea1e2

File tree

1 file changed

+35
-13
lines changed

1 file changed

+35
-13
lines changed

engine/worker/internal/handler_artifacts.go

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func artifactsHandler(ctx context.Context, wk *CurrentWorker) http.HandlerFunc {
5858
return
5959
}
6060

61-
artifactsJSON := []sdk.WorkflowRunResultArtifact{}
61+
artifactsJSON := make([]interface{}, 0)
6262

6363
workflowRunResults, err := wk.client.WorkflowRunResultsList(ctx, projectKey, reqArgs.Workflow, reqArgs.Number)
6464
if err != nil {
@@ -67,19 +67,41 @@ func artifactsHandler(ctx context.Context, wk *CurrentWorker) http.HandlerFunc {
6767
return
6868
}
6969
for _, result := range workflowRunResults {
70-
if result.Type != sdk.WorkflowRunResultTypeArtifact {
71-
continue
70+
switch result.Type {
71+
case sdk.WorkflowRunResultTypeArtifact:
72+
artData, err := result.GetArtifact()
73+
if err != nil {
74+
newError := sdk.NewError(sdk.ErrUnknownError, fmt.Errorf("item is not an artifact: %s", err))
75+
writeError(w, r, newError)
76+
return
77+
}
78+
if reqArgs.Pattern != "" && !regexp.MatchString(artData.Name) {
79+
continue
80+
}
81+
artifactsJSON = append(artifactsJSON, artData)
82+
case sdk.WorkflowRunResultTypeArtifactManager:
83+
artData, err := result.GetArtifactManager()
84+
if err != nil {
85+
newError := sdk.NewError(sdk.ErrUnknownError, fmt.Errorf("item is not from an artifact manager: %s", err))
86+
writeError(w, r, newError)
87+
return
88+
}
89+
if reqArgs.Pattern != "" && !regexp.MatchString(artData.Name) {
90+
continue
91+
}
92+
artifactsJSON = append(artifactsJSON, artData)
93+
case sdk.WorkflowRunResultTypeCoverage:
94+
artData, err := result.GetCoverage()
95+
if err != nil {
96+
newError := sdk.NewError(sdk.ErrUnknownError, fmt.Errorf("item is not a coverage: %s", err))
97+
writeError(w, r, newError)
98+
return
99+
}
100+
if reqArgs.Pattern != "" && !regexp.MatchString(artData.Name) {
101+
continue
102+
}
103+
artifactsJSON = append(artifactsJSON, artData)
72104
}
73-
artData, err := result.GetArtifact()
74-
if err != nil {
75-
newError := sdk.NewError(sdk.ErrUnknownError, fmt.Errorf("item is not an artifact: %s", err))
76-
writeError(w, r, newError)
77-
return
78-
}
79-
if reqArgs.Pattern != "" && !regexp.MatchString(artData.Name) {
80-
continue
81-
}
82-
artifactsJSON = append(artifactsJSON, artData)
83105
}
84106

85107
writeJSON(w, artifactsJSON, http.StatusOK)

0 commit comments

Comments
 (0)