2
0

Report runner capacity in capabilities JSON
Some checks failed
CI / build-and-test (push) Failing after 20s

This commit is contained in:
GitCaddy
2026-01-15 13:06:30 +00:00
parent b6d700af60
commit 3addd66efa
3 changed files with 6 additions and 4 deletions

View File

@@ -179,7 +179,7 @@ func runDaemon(ctx context.Context, daemArgs *daemonArgs, configFile *string) fu
bandwidthManager.Start(ctx)
log.Infof("bandwidth manager started, testing against: %s", reg.Address)
capabilities := envcheck.DetectCapabilities(ctx, dockerHost, cfg.Container.WorkdirParent)
capabilities := envcheck.DetectCapabilities(ctx, dockerHost, cfg.Container.WorkdirParent, globalConfig.Runner.Capacity)
// Include initial bandwidth result if available
capabilities.Bandwidth = bandwidthManager.GetLastResult()
capabilitiesJson := capabilities.ToJSON()
@@ -323,7 +323,7 @@ func periodicCapabilitiesUpdate(ctx context.Context, runner *run.Runner, labelNa
return
case <-ticker.C:
// Detect updated capabilities (disk space changes over time)
capabilities := envcheck.DetectCapabilities(ctx, dockerHost, workingDir)
capabilities := envcheck.DetectCapabilities(ctx, dockerHost, workingDir, globalConfig.Runner.Capacity)
// Include latest bandwidth result
if bandwidthManager != nil {

View File

@@ -166,7 +166,7 @@ func (p *Poller) fetchTask(ctx context.Context) (*runnerv1.Task, bool) {
defer cancel()
// Detect capabilities including current disk space
caps := envcheck.DetectCapabilities(ctx, p.cfg.Container.DockerHost, p.cfg.Container.WorkdirParent)
caps := envcheck.DetectCapabilities(ctx, p.cfg.Container.DockerHost, p.cfg.Container.WorkdirParent, p.cfg.Runner.Capacity)
// Include latest bandwidth result if available
if p.bandwidthManager != nil {

View File

@@ -69,6 +69,7 @@ type RunnerCapabilities struct {
CPU *CPUInfo `json:"cpu,omitempty"`
Bandwidth *BandwidthInfo `json:"bandwidth,omitempty"`
SuggestedLabels []string `json:"suggested_labels,omitempty"`
Capacity int `json:"capacity,omitempty"` // Number of concurrent jobs this runner can handle
}
// CapabilityFeatures represents feature support flags
@@ -81,8 +82,9 @@ type CapabilityFeatures struct {
// DetectCapabilities detects the runner's capabilities
// workingDir is the directory where builds will run (for disk space detection)
func DetectCapabilities(ctx context.Context, dockerHost string, workingDir string) *RunnerCapabilities {
func DetectCapabilities(ctx context.Context, dockerHost string, workingDir string, capacity int) *RunnerCapabilities {
cap := &RunnerCapabilities{
Capacity: capacity,
OS: runtime.GOOS,
Arch: runtime.GOARCH,
Tools: make(map[string][]string),