From 8f5fe8e20b9a242a6aef7a8b46e0ceae93b498a9 Mon Sep 17 00:00:00 2001 From: Dom Parfitt Date: Thu, 21 Aug 2025 10:14:32 +0100 Subject: [PATCH] Disable automaxprocs on Go 1.25+ --- rundef/maxprocs.go | 2 ++ rundef/maxprocs_go125.go | 21 +++++++++++++++++++++ rundef/maxprocs_test.go | 2 ++ 3 files changed, 25 insertions(+) create mode 100644 rundef/maxprocs_go125.go diff --git a/rundef/maxprocs.go b/rundef/maxprocs.go index 4226084d4..083fd22ec 100644 --- a/rundef/maxprocs.go +++ b/rundef/maxprocs.go @@ -1,3 +1,5 @@ +//go:build !go1.25 + package rundef import ( diff --git a/rundef/maxprocs_go125.go b/rundef/maxprocs_go125.go new file mode 100644 index 000000000..e1be35202 --- /dev/null +++ b/rundef/maxprocs_go125.go @@ -0,0 +1,21 @@ +//go:build go1.25 + +package rundef + +import ( + "context" + "runtime" + + "github.com/circleci/ex/o11y" +) + +// MaxProcs is a no-op on Go 1.25+ +func MaxProcs(ctx context.Context) (err error) { + ctx, span := o11y.StartSpan(ctx, "rundef: max procs") + defer o11y.End(span, &err) + + limit := runtime.GOMAXPROCS(0) // Get the limit the go runtime has determined + + span.AddField("limit", limit) + return err +} diff --git a/rundef/maxprocs_test.go b/rundef/maxprocs_test.go index 4c51f7009..1c4d445b2 100644 --- a/rundef/maxprocs_test.go +++ b/rundef/maxprocs_test.go @@ -1,3 +1,5 @@ +//go:build !go1.25 + package rundef import (