diff --git a/pkg/cli/actionlint.go b/pkg/cli/actionlint.go index ffb635b8309..241a9ac5bf0 100644 --- a/pkg/cli/actionlint.go +++ b/pkg/cli/actionlint.go @@ -210,7 +210,7 @@ func runActionlintOnFiles(lockFiles []string, verbose bool, strict bool) error { } // Get relative paths from git root for all files - var relPaths []string + relPaths := make([]string, 0, len(lockFiles)) for _, lockFile := range lockFiles { relPath, err := filepath.Rel(gitRoot, lockFile) if err != nil { diff --git a/pkg/cli/tool_graph.go b/pkg/cli/tool_graph.go index a47349edc8a..46ab6283213 100644 --- a/pkg/cli/tool_graph.go +++ b/pkg/cli/tool_graph.go @@ -2,8 +2,9 @@ package cli import ( "fmt" + "maps" "os" - "sort" + "slices" "strings" "github.com/github/gh-aw/pkg/console" @@ -73,11 +74,7 @@ func (g *ToolGraph) GenerateMermaidGraph() string { // Add tool states with normalized names for Mermaid toolToStateMap := make(map[string]string) - var tools []string - for tool := range g.Tools { - tools = append(tools, tool) - } - sort.Strings(tools) + tools := slices.Sorted(maps.Keys(g.Tools)) for i, tool := range tools { stateId := fmt.Sprintf("tool%d", i) @@ -119,7 +116,7 @@ func (g *ToolGraph) GenerateMermaidGraph() string { } // Add transitions with counts as labels - var transitions []ToolTransition + transitions := make([]ToolTransition, 0, len(g.Transitions)) for key, count := range g.Transitions { parts := strings.Split(key, "->") if len(parts) == 2 { @@ -132,14 +129,14 @@ func (g *ToolGraph) GenerateMermaidGraph() string { } // Sort transitions by count (descending) for better visualization - sort.Slice(transitions, func(i, j int) bool { - if transitions[i].Count != transitions[j].Count { - return transitions[i].Count > transitions[j].Count + slices.SortFunc(transitions, func(a, b ToolTransition) int { + if a.Count != b.Count { + return b.Count - a.Count // descending by count } - if transitions[i].From != transitions[j].From { - return transitions[i].From < transitions[j].From + if a.From != b.From { + return strings.Compare(a.From, b.From) } - return transitions[i].To < transitions[j].To + return strings.Compare(a.To, b.To) }) for _, transition := range transitions {