From d2d89132e457bcf4ff26a40541ce5dc94ee92a83 Mon Sep 17 00:00:00 2001 From: GitCaddy Date: Mon, 12 Jan 2026 00:07:49 +0000 Subject: [PATCH] feat(runners): display Xcode SDKs, Simulators, BuildTools, and PackageManagers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add XcodeInfo struct for macOS runner capabilities (version, build, SDKs, simulators) - Add BuildTools and PackageManagers fields to RunnerCapability struct - Update runner_edit.tmpl to display: - Xcode info with SDKs and Simulators for macOS runners - Build Tools (gcc, g++, msbuild, etc.) for all platforms - Package Managers (apt, brew, chocolatey, etc.) for all platforms This aligns with act_runner capability detection which already reports these fields. 🤖 Generated with Claude Code Co-Authored-By: Claude Opus 4.5 --- modules/structs/actions_capabilities.go | 11 +++++ templates/shared/actions/runner_edit.tmpl | 53 +++++++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/modules/structs/actions_capabilities.go b/modules/structs/actions_capabilities.go index 321d954c99..a2d965faec 100644 --- a/modules/structs/actions_capabilities.go +++ b/modules/structs/actions_capabilities.go @@ -28,16 +28,27 @@ type DistroInfo struct { PrettyName string `json:"pretty_name,omitempty"` // e.g., "Ubuntu 24.04 LTS" } +// XcodeInfo holds Xcode-specific information for macOS runners +type XcodeInfo struct { + Version string `json:"version,omitempty"` + Build string `json:"build,omitempty"` + SDKs []string `json:"sdks,omitempty"` + Simulators []string `json:"simulators,omitempty"` +} + // RunnerCapability represents the detailed capabilities of a runner type RunnerCapability struct { OS string `json:"os"` Arch string `json:"arch"` Distro *DistroInfo `json:"distro,omitempty"` + Xcode *XcodeInfo `json:"xcode,omitempty"` Docker bool `json:"docker"` DockerCompose bool `json:"docker_compose"` ContainerRuntime string `json:"container_runtime,omitempty"` Shell []string `json:"shell,omitempty"` Tools map[string][]string `json:"tools,omitempty"` + BuildTools []string `json:"build_tools,omitempty"` + PackageManagers []string `json:"package_managers,omitempty"` Features *CapabilityFeatures `json:"features,omitempty"` Limitations []string `json:"limitations,omitempty"` Disk *DiskInfo `json:"disk,omitempty"` diff --git a/templates/shared/actions/runner_edit.tmpl b/templates/shared/actions/runner_edit.tmpl index e6cee5597d..220e17fa4d 100644 --- a/templates/shared/actions/runner_edit.tmpl +++ b/templates/shared/actions/runner_edit.tmpl @@ -174,6 +174,37 @@ {{end}} + {{if .RunnerCapabilities.Xcode}} +
+ +
+ {{if .RunnerCapabilities.Xcode.Version}} + {{.RunnerCapabilities.Xcode.Version}}{{if .RunnerCapabilities.Xcode.Build}} ({{.RunnerCapabilities.Xcode.Build}}){{end}} + {{end}} +
+ {{if .RunnerCapabilities.Xcode.SDKs}} +
+ +
+ {{range .RunnerCapabilities.Xcode.SDKs}} + {{.}} + {{end}} +
+
+ {{end}} + {{if .RunnerCapabilities.Xcode.Simulators}} +
+ +
+ {{range .RunnerCapabilities.Xcode.Simulators}} + {{.}} + {{end}} +
+
+ {{end}} +
+ {{end}} + {{if .RunnerCapabilities.Shell}}
@@ -196,6 +227,28 @@
{{end}} + {{if .RunnerCapabilities.BuildTools}} +
+ +
+ {{range .RunnerCapabilities.BuildTools}} + {{.}} + {{end}} +
+
+ {{end}} + + {{if .RunnerCapabilities.PackageManagers}} +
+ +
+ {{range .RunnerCapabilities.PackageManagers}} + {{.}} + {{end}} +
+
+ {{end}} + {{if .RunnerCapabilities.Limitations}}