diff --git a/pkg/cli/actionlint.go b/pkg/cli/actionlint.go index 24cc92b96a..15618bb4e0 100644 --- a/pkg/cli/actionlint.go +++ b/pkg/cli/actionlint.go @@ -194,13 +194,13 @@ func runActionlintOnFile(lockFiles []string, verbose bool, strict bool) error { } // Get relative paths from git root for all files - var relPaths []string - for _, lockFile := range lockFiles { + relPaths := make([]string, len(lockFiles)) + for i, lockFile := range lockFiles { relPath, err := filepath.Rel(gitRoot, lockFile) if err != nil { return fmt.Errorf("failed to get relative path for %s: %w", lockFile, err) } - relPaths = append(relPaths, relPath) + relPaths[i] = relPath } // Build the Docker command with JSON output for easier parsing diff --git a/pkg/cli/actions_build_command.go b/pkg/cli/actions_build_command.go index 1ee1c964fd..572d78f030 100644 --- a/pkg/cli/actions_build_command.go +++ b/pkg/cli/actions_build_command.go @@ -11,6 +11,7 @@ import ( "github.com/github/gh-aw/pkg/console" "github.com/github/gh-aw/pkg/logger" + "github.com/github/gh-aw/pkg/sliceutil" "github.com/github/gh-aw/pkg/workflow" ) @@ -136,12 +137,10 @@ func getActionDirectories(actionsDir string) ([]string, error) { return nil, fmt.Errorf("failed to read actions directory: %w", err) } - var dirs []string - for _, entry := range entries { - if entry.IsDir() { - dirs = append(dirs, entry.Name()) - } - } + dirs := sliceutil.FilterMap(entries, + func(entry os.DirEntry) bool { return entry.IsDir() }, + func(entry os.DirEntry) string { return entry.Name() }, + ) sort.Strings(dirs) return dirs, nil diff --git a/pkg/cli/add_workflow_pr.go b/pkg/cli/add_workflow_pr.go index d31f6150ee..99415df8dc 100644 --- a/pkg/cli/add_workflow_pr.go +++ b/pkg/cli/add_workflow_pr.go @@ -8,6 +8,7 @@ import ( "github.com/github/gh-aw/pkg/console" "github.com/github/gh-aw/pkg/logger" + "github.com/github/gh-aw/pkg/sliceutil" ) var addWorkflowPRLog = logger.New("cli:add_workflow_pr") @@ -81,11 +82,10 @@ func addWorkflowsWithPR(workflows []*WorkflowSpec, number int, verbose bool, qui prTitle = fmt.Sprintf("Add agentic workflow %s", joinedNames) prBody = fmt.Sprintf("Add agentic workflow %s", joinedNames) } else { - // Get workflow.Workflo - workflowNames := make([]string, len(workflows)) - for i, wf := range workflows { - workflowNames[i] = wf.WorkflowName - } + // Extract workflow names using functional approach + workflowNames := sliceutil.Map(workflows, func(wf *WorkflowSpec) string { + return wf.WorkflowName + }) joinedNames = strings.Join(workflowNames, ", ") commitMessage = fmt.Sprintf("Add agentic workflows: %s", joinedNames) prTitle = fmt.Sprintf("Add agentic workflows: %s", joinedNames)