| 90 | } |
| 91 | |
| 92 | func (e *GeminiEngine) GetInstallationSteps(workflowData *WorkflowData) []GitHubActionStep { |
| 93 | geminiLog.Printf("Generating installation steps for Gemini engine: workflow=%s", workflowData.Name) |
| 94 | |
| 95 | // Skip installation if custom command is specified |
| 96 | if workflowData.EngineConfig != nil && workflowData.EngineConfig.Command != "" { |
| 97 | geminiLog.Printf("Skipping installation steps: custom command specified (%s)", workflowData.EngineConfig.Command) |
| 98 | return []GitHubActionStep{} |
| 99 | } |
| 100 | |
| 101 | npmSteps := BuildStandardNpmEngineInstallStepsNoCooldown( |
| 102 | "@google/gemini-cli", |
| 103 | string(constants.DefaultGeminiVersion), |
| 104 | "Install Gemini CLI", |
| 105 | "gemini", |
| 106 | workflowData, |
| 107 | ) |
| 108 | return BuildNpmEngineInstallStepsWithAWF(npmSteps, workflowData) |
| 109 | } |
| 110 | |
| 111 | // GetDeclaredOutputFiles returns the output files that Gemini may produce. |
| 112 | // Gemini CLI writes structured error reports to /tmp/gemini-client-error-*.json |