Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/daily-team-status.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 3 additions & 10 deletions cmd/gh-aw/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ Examples:
gh aw run daily-perf-improver --enable-if-needed # Enable if disabled, run, then restore state
gh aw run daily-perf-improver --auto-merge-prs # Auto-merge any PRs created during execution`,
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
RunE: func(cmd *cobra.Command, args []string) error {
repeatCount, _ := cmd.Flags().GetInt("repeat")
enable, _ := cmd.Flags().GetBool("enable-if-needed")
engineOverride, _ := cmd.Flags().GetString("engine")
Expand All @@ -307,17 +307,10 @@ Examples:
pushSecrets, _ := cmd.Flags().GetBool("use-local-secrets")

if err := validateEngine(engineOverride); err != nil {
fmt.Fprintln(os.Stderr, console.FormatErrorMessage(err.Error()))
os.Exit(1)
return err
}

if err := cli.RunWorkflowsOnGitHub(args, repeatCount, enable, engineOverride, repoOverride, refOverride, autoMergePRs, pushSecrets, verboseFlag); err != nil {
fmt.Fprintln(os.Stderr, console.FormatError(console.CompilerError{
Type: "error",
Message: fmt.Sprintf("running workflows on GitHub Actions: %v", err),
}))
os.Exit(1)
}
return cli.RunWorkflowsOnGitHub(args, repeatCount, enable, engineOverride, repoOverride, refOverride, autoMergePRs, pushSecrets, verboseFlag)
},
}

Expand Down
10 changes: 3 additions & 7 deletions pkg/cli/audit.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,25 +53,21 @@ Examples:
` + constants.CLIExtensionPrefix + ` audit 1234567890 -v # Verbose output
` + constants.CLIExtensionPrefix + ` audit 1234567890 --parse # Parse agent logs and firewall logs, generating log.md and firewall.md`,
Args: cobra.ExactArgs(1),
Run: func(cmd *cobra.Command, args []string) {
RunE: func(cmd *cobra.Command, args []string) error {
runIDOrURL := args[0]

// Parse run information from input (either numeric ID or URL)
runInfo, err := parseRunURL(runIDOrURL)
if err != nil {
fmt.Fprintln(os.Stderr, console.FormatErrorMessage(err.Error()))
os.Exit(1)
return err
}

outputDir, _ := cmd.Flags().GetString("output")
verbose, _ := cmd.Flags().GetBool("verbose")
jsonOutput, _ := cmd.Flags().GetBool("json")
parse, _ := cmd.Flags().GetBool("parse")

if err := AuditWorkflowRun(runInfo, outputDir, verbose, parse, jsonOutput); err != nil {
fmt.Fprintln(os.Stderr, console.FormatErrorMessage(err.Error()))
os.Exit(1)
}
return AuditWorkflowRun(runInfo, outputDir, verbose, parse, jsonOutput)
},
}

Expand Down
31 changes: 6 additions & 25 deletions pkg/cli/logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,7 @@ Examples:
` + constants.CLIExtensionPrefix + ` logs --json # Output metrics in JSON format
` + constants.CLIExtensionPrefix + ` logs --parse --json # Generate both markdown and JSON
` + constants.CLIExtensionPrefix + ` logs weekly-research --repo owner/repo # Download logs from specific repository`,
Run: func(cmd *cobra.Command, args []string) {
RunE: func(cmd *cobra.Command, args []string) error {
var workflowName string
if len(args) > 0 && args[0] != "" {
// Convert workflow ID to GitHub Actions workflow name
Expand All @@ -378,11 +378,10 @@ Examples:
"Check for typos in the workflow name",
"Use the workflow ID (e.g., 'test-claude') or GitHub Actions workflow name (e.g., 'Test Claude')",
}
fmt.Fprintln(os.Stderr, console.FormatErrorWithSuggestions(
return errors.New(console.FormatErrorWithSuggestions(
fmt.Sprintf("workflow '%s' not found", args[0]),
suggestions,
))
os.Exit(1)
}
} else {
workflowName = resolvedName
Expand Down Expand Up @@ -412,22 +411,14 @@ Examples:
if startDate != "" {
resolvedStartDate, err := workflow.ResolveRelativeDate(startDate, now)
if err != nil {
fmt.Fprintln(os.Stderr, console.FormatError(console.CompilerError{
Type: "error",
Message: fmt.Sprintf("invalid start-date format '%s': %v", startDate, err),
}))
os.Exit(1)
return fmt.Errorf("invalid start-date format '%s': %v", startDate, err)
}
startDate = resolvedStartDate
}
if endDate != "" {
resolvedEndDate, err := workflow.ResolveRelativeDate(endDate, now)
if err != nil {
fmt.Fprintln(os.Stderr, console.FormatError(console.CompilerError{
Type: "error",
Message: fmt.Sprintf("invalid end-date format '%s': %v", endDate, err),
}))
os.Exit(1)
return fmt.Errorf("invalid end-date format '%s': %v", endDate, err)
}
endDate = resolvedEndDate
}
Expand All @@ -437,21 +428,11 @@ Examples:
registry := workflow.GetGlobalEngineRegistry()
if !registry.IsValidEngine(engine) {
supportedEngines := registry.GetSupportedEngines()
fmt.Fprintln(os.Stderr, console.FormatError(console.CompilerError{
Type: "error",
Message: fmt.Sprintf("invalid engine value '%s'. Must be one of: %s", engine, strings.Join(supportedEngines, ", ")),
}))
os.Exit(1)
return fmt.Errorf("invalid engine value '%s'. Must be one of: %s", engine, strings.Join(supportedEngines, ", "))
}
}

if err := DownloadWorkflowLogs(workflowName, count, startDate, endDate, outputDir, engine, ref, beforeRunID, afterRunID, repoOverride, verbose, toolGraph, noStaged, firewallOnly, noFirewall, parse, jsonOutput, timeout); err != nil {
fmt.Fprintln(os.Stderr, console.FormatError(console.CompilerError{
Type: "error",
Message: err.Error(),
}))
os.Exit(1)
}
return DownloadWorkflowLogs(workflowName, count, startDate, endDate, outputDir, engine, ref, beforeRunID, afterRunID, repoOverride, verbose, toolGraph, noStaged, firewallOnly, noFirewall, parse, jsonOutput, timeout)
},
}

Expand Down
11 changes: 2 additions & 9 deletions pkg/cli/status.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
package cli

import (
"fmt"
"os"

"github.com/githubnext/gh-aw/pkg/console"
"github.com/githubnext/gh-aw/pkg/constants"
"github.com/spf13/cobra"
)
Expand All @@ -26,18 +22,15 @@ Examples:
` + constants.CLIExtensionPrefix + ` status ci- # Show workflows with 'ci-' in name
` + constants.CLIExtensionPrefix + ` status --json # Output in JSON format
` + constants.CLIExtensionPrefix + ` status --ref main # Show latest run status for main branch`,
Run: func(cmd *cobra.Command, args []string) {
RunE: func(cmd *cobra.Command, args []string) error {
var pattern string
if len(args) > 0 {
pattern = args[0]
}
verbose, _ := cmd.Flags().GetBool("verbose")
jsonFlag, _ := cmd.Flags().GetBool("json")
ref, _ := cmd.Flags().GetString("ref")
if err := StatusWorkflows(pattern, verbose, jsonFlag, ref); err != nil {
fmt.Fprintln(os.Stderr, console.FormatErrorMessage(err.Error()))
os.Exit(1)
}
return StatusWorkflows(pattern, verbose, jsonFlag, ref)
},
}

Expand Down
Loading
Loading