Packaging checks for packages.
(c *checker.CheckRequest)
| 26 | |
| 27 | // Packaging checks for packages. |
| 28 | func Packaging(c *checker.CheckRequest) (checker.PackagingData, error) { |
| 29 | var data checker.PackagingData |
| 30 | matchedFiles, err := c.RepoClient.ListFiles(fileparser.IsGitlabWorkflowFile) |
| 31 | if err != nil { |
| 32 | return data, fmt.Errorf("RepoClient.ListFiles: %w", err) |
| 33 | } |
| 34 | |
| 35 | for _, fp := range matchedFiles { |
| 36 | fr, err := c.RepoClient.GetFileReader(fp) |
| 37 | if err != nil { |
| 38 | return data, fmt.Errorf("RepoClient.GetFileReader: %w", err) |
| 39 | } |
| 40 | fc, err := io.ReadAll(fr) |
| 41 | fr.Close() |
| 42 | if err != nil { |
| 43 | return data, fmt.Errorf("reading from file: %w", err) |
| 44 | } |
| 45 | |
| 46 | file, found := isGitlabPackagingWorkflow(fc, fp) |
| 47 | |
| 48 | if found { |
| 49 | data.Packages = append(data.Packages, checker.Package{ |
| 50 | Name: new(string), |
| 51 | Job: &checker.WorkflowJob{}, |
| 52 | File: &file, |
| 53 | Msg: nil, |
| 54 | Runs: []checker.Run{{URL: c.Repo.URI()}}, |
| 55 | }) |
| 56 | return data, nil |
| 57 | } |
| 58 | } |
| 59 | |
| 60 | return data, nil |
| 61 | } |
| 62 | |
| 63 | func StringPointer(s string) *string { |
| 64 | return &s |