MCPcopy Create free account
hub / github.com/github/gh-aw / GetInstallationSteps

Method GetInstallationSteps

pkg/workflow/claude_engine.go:105–132  ·  view source on GitHub ↗
(workflowData *WorkflowData)

Source from the content-addressed store, hash-verified

103}
104
105func (e *ClaudeEngine) GetInstallationSteps(workflowData *WorkflowData) []GitHubActionStep {
106 claudeLog.Printf("Generating installation steps for Claude engine: workflow=%s", workflowData.Name)
107
108 // Skip installation if custom command is specified
109 if workflowData.EngineConfig != nil && workflowData.EngineConfig.Command != "" {
110 claudeLog.Printf("Skipping installation steps: custom command specified (%s)", workflowData.EngineConfig.Command)
111 return []GitHubActionStep{}
112 }
113
114 // Use version from engine config if provided, otherwise default to pinned version
115 version := string(constants.DefaultClaudeCodeVersion)
116 if workflowData.EngineConfig != nil && workflowData.EngineConfig.Version != "" {
117 version = workflowData.EngineConfig.Version
118 }
119
120 // Claude Code requires post-install scripts (native binaries) so --ignore-scripts must
121 // NOT be passed. This is intentionally different from other engine installs.
122 npmSteps := GenerateNpmInstallSteps(
123 "@anthropic-ai/claude-code",
124 version,
125 "Install Claude Code CLI",
126 "claude",
127 true, // Include Node.js setup
128 true, // Claude Code requires post-install scripts for native binaries
129 false, // Agentic engine installs should not apply npm release-age cooldown
130 )
131 return BuildNpmEngineInstallStepsWithAWF(npmSteps, workflowData)
132}
133
134// GetDeclaredOutputFiles returns the output files that Claude may produce
135func (e *ClaudeEngine) GetDeclaredOutputFiles() []string {

Calls 3

GenerateNpmInstallStepsFunction · 0.85
PrintfMethod · 0.45