Skip to content

Commit e324289

Browse files
feat: allow ARM64 architecture when --skip-windsurf flag is set
- Modify architecture check to only enforce x86_64 requirement when Windsurf installation is enabled - Add --skip-windsurf suggestion to error message for non-x86_64 architectures - Log architecture detection results (skip Windsurf on ARM64, proceed on x86_64) - Skip Windsurf connectivity check when --skip-windsurf is set or architecture is not amd64 - Add separate log messages explaining why connectivity check was skipped (flag vs
1 parent 6bb67f1 commit e324289

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

pkg/remotecode/install.go

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -152,12 +152,20 @@ func CheckPrerequisites(rc *eos_io.RuntimeContext, config *Config) error {
152152
}
153153

154154
// Check architecture - Windsurf only supports x64
155+
// If --skip-windsurf is set, we don't enforce this check
155156
arch := runtime.GOARCH
156-
if arch != "amd64" {
157+
if arch != "amd64" && !config.SkipWindsurf {
157158
return fmt.Errorf("Windsurf IDE only supports x64 (amd64) architecture, but this server is %s\n\n"+
158-
"Alternative: Use VS Code Remote SSH or JetBrains Gateway which support ARM64", arch)
159+
"Alternative: Use VS Code Remote SSH or JetBrains Gateway which support ARM64\n\n"+
160+
"To proceed without Windsurf installation:\n"+
161+
" eos create code --skip-windsurf", arch)
162+
}
163+
if arch != "amd64" {
164+
logger.Info("Non-x86_64 architecture detected, Windsurf will be skipped",
165+
zap.String("arch", arch))
166+
} else {
167+
logger.Info("Architecture check passed", zap.String("arch", arch))
159168
}
160-
logger.Info("Architecture check passed", zap.String("arch", arch))
161169

162170
// Check for SSH daemon - offer to install if missing
163171
if _, err := os.Stat(SSHConfigPath); err != nil {
@@ -174,13 +182,15 @@ func CheckPrerequisites(rc *eos_io.RuntimeContext, config *Config) error {
174182
}
175183
}
176184

177-
// Check Windsurf connectivity (unless skipped)
178-
if !config.SkipConnectivityCheck {
185+
// Check Windsurf connectivity (unless skipped or not applicable)
186+
if !config.SkipConnectivityCheck && !config.SkipWindsurf && arch == "amd64" {
179187
if err := checkWindsurfConnectivity(rc); err != nil {
180188
return err
181189
}
182-
} else {
190+
} else if config.SkipConnectivityCheck {
183191
logger.Info("Skipping Windsurf connectivity check (--skip-connectivity-check)")
192+
} else if config.SkipWindsurf || arch != "amd64" {
193+
logger.Info("Skipping Windsurf connectivity check (Windsurf not being installed)")
184194
}
185195

186196
logger.Info("All prerequisites satisfied")

0 commit comments

Comments
 (0)