Brief background
Our projects use orchestrion to instrument our code during our CI test phase so test results are emitted to Datadog.
What is relevant here is that our project go.mod has no direct or transitive dependencies on any of the following:
- github.com/DataDog/orchestrion
- github.com/DataDog/dd-trace-go/v2
In our project, Datadog instrumentation is accomplished with the test-visibility GHA:
- name: Configure Datadog Test Optimization
uses: datadog/test-visibility-github-action@v2
with:
languages: go
api_key: ${{secrets.DD_API_KEY}}
site: datadoghq.com
Our project go.mod is on Go 1.24.
Note: Just want to acknowledge there are drawbacks to this instrumentation approach on our project's side, namely that the instrumentation is modifying our dependency graph: tests are not being executed against the runtime dependency graph, they are executing against the instrumented graph.
Behavior
Until recently the action was resolving orchestrion/all/v2 v2.6.0, but it appears orchestrion/all/v2 v2.7.0 has been released, which requires go1.25.
The action ends up bailing with:
install_test_visibility.sh: OK
... <snip> ...
go: github.com/DataDog/dd-trace-go/orchestrion/all/v2@v2.7.0 requires go >= 1.25.0 (running go 1.24.8; GOTOOLCHAIN=local)
ensuring required integrations in "/runner/_work/<redacted>/<redacted>/go.mod": go get github.com/DataDog/dd-trace-go/orchestrion/all/v2@v2.7.0: exit status 1
Error: Orchestrion pin failed.
The desired behavior would be to not require us to update our project's go.mod to participate in the test instrumentation. Is this possible? Having instability in the CI pipeline- especially when pinned to a major version of the GHA- is unexpected/undesirable.
Full output below.
install_test_visibility.sh: OK
go: downloading github.com/DataDog/orchestrion v1.8.0
go: downloading github.com/rs/zerolog v1.34.0
go: downloading github.com/DataDog/dd-trace-go/v2 v2.6.0
go: downloading github.com/urfave/cli/v2 v2.27.7
go: downloading github.com/fsnotify/fsnotify v1.9.0
go: downloading github.com/goccy/go-yaml v1.18.0
go: downloading golang.org/x/tools v0.38.0
go: downloading github.com/polyfloyd/go-errorlint v1.8.1-0.20250906200200-9b25878c4dea
go: downloading github.com/nats-io/nats.go v1.47.0
go: downloading github.com/shirou/gopsutil/v4 v4.25.10
go: downloading github.com/nats-io/nats-server/v2 v2.12.1
go: downloading github.com/xeipuuv/gojsonschema v1.2.0
go: downloading github.com/charmbracelet/lipgloss v1.1.0
go: downloading github.com/dave/dst v0.27.3
go: downloading golang.org/x/mod v0.29.0
go: downloading golang.org/x/term v0.36.0
go: downloading github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb
go: downloading github.com/mattn/go-colorable v0.1.14
go: downloading golang.org/x/sys v0.37.0
go: downloading github.com/klauspost/compress v1.18.1
go: downloading github.com/nats-io/nkeys v0.4.11
go: downloading github.com/nats-io/nuid v1.0.1
go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.7
go: downloading github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342
go: downloading golang.org/x/sync v0.17.0
go: downloading github.com/tklauser/go-sysconf v0.3.15
go: downloading github.com/DataDog/datadog-agent/pkg/obfuscate v0.71.2
go: downloading github.com/DataDog/datadog-agent/pkg/proto v0.71.2
go: downloading github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.73.0-rc.1
go: downloading github.com/DataDog/datadog-agent/pkg/trace v0.71.2
go: downloading github.com/DataDog/datadog-go/v5 v5.8.1
go: downloading github.com/DataDog/go-runtime-metrics-internal v0.0.4-0.20250806100345-ca5e7fdaf7b6
go: downloading github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575
go: downloading github.com/tinylib/msgp v1.5.0
go: downloading golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546
go: downloading golang.org/x/time v0.14.0
go: downloading golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da
go: downloading github.com/charmbracelet/x/ansi v0.10.2
go: downloading github.com/charmbracelet/x/cellbuf v0.0.13
go: downloading github.com/muesli/termenv v0.16.0
go: downloading github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
go: downloading golang.org/x/crypto v0.43.0
go: downloading github.com/russross/blackfriday/v2 v2.1.0
go: downloading github.com/tklauser/numcpus v0.10.0
go: downloading github.com/antithesishq/antithesis-sdk-go v0.5.0
go: downloading github.com/minio/highwayhash v1.0.3
go: downloading github.com/nats-io/jwt/v2 v2.8.0
go: downloading github.com/DataDog/go-sqllexer v0.1.9
go: downloading github.com/outcaste-io/ristretto v0.2.3
go: downloading github.com/DataDog/go-tuf v1.1.1-0.5.2
go: downloading google.golang.org/protobuf v1.36.10
go: downloading github.com/puzpuzpuz/xsync/v3 v3.5.1
go: downloading go.opentelemetry.io/collector/pdata/pprofile v0.140.0
go: downloading github.com/DataDog/go-libddwaf/v4 v4.8.0
go: downloading go.yaml.in/yaml/v3 v3.0.4
go: downloading go.opentelemetry.io/collector/pdata v1.46.0
go: downloading github.com/DataDog/sketches-go v1.4.7
go: downloading github.com/trailofbits/go-mutexasserts v0.0.0-20250514102930-c1f3d2e37561
go: downloading google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda
go: downloading github.com/philhofer/fwd v1.2.0
go: downloading github.com/charmbracelet/colorprofile v0.3.2
go: downloading github.com/charmbracelet/x/term v0.2.2
go: downloading github.com/mattn/go-runewidth v0.0.19
go: downloading github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb
go: downloading github.com/lucasb-eyer/go-colorful v1.3.0
go: downloading github.com/aymanbagabas/go-osc52/v2 v2.0.1
go: downloading github.com/dustin/go-humanize v1.0.1
go: downloading github.com/secure-systems-lab/go-securesystemslib v0.9.1
go: downloading github.com/cenkalti/backoff/v5 v5.0.3
go: downloading github.com/DataDog/datadog-agent/comp/core/tagger/origindetection v0.71.2
go: downloading github.com/DataDog/datadog-agent/pkg/opentelemetry-mapping-go/otlp/attributes v0.71.2
go: downloading github.com/DataDog/datadog-agent/pkg/util/log v0.71.2
go: downloading go.opentelemetry.io/otel v1.38.0
go: downloading github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e
go: downloading github.com/clipperhouse/uax29/v2 v2.3.0
go: downloading go.opentelemetry.io/collector/component v1.44.0
go: downloading go.opentelemetry.io/otel/metric v1.38.0
go: downloading github.com/DataDog/datadog-agent/pkg/util/scrubber v0.71.2
go: downloading github.com/ebitengine/purego v0.9.0
go: downloading github.com/json-iterator/go v1.1.12
go: downloading github.com/minio/simdjson-go v0.4.5
go: downloading go.opentelemetry.io/collector/internal/telemetry v0.138.0
go: downloading github.com/DataDog/datadog-agent/pkg/version v0.71.2
go: downloading go.opentelemetry.io/collector/featuregate v1.46.0
go: downloading github.com/clipperhouse/stringish v0.1.1
go: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
go: downloading github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee
go: downloading go.opentelemetry.io/otel/trace v1.38.0
go: downloading go.uber.org/zap v1.27.0
go: downloading github.com/klauspost/cpuid/v2 v2.2.3
go: downloading go.opentelemetry.io/contrib/bridges/otelzap v0.13.0
go: downloading go.opentelemetry.io/otel/log v0.14.0
go: downloading github.com/go-logr/logr v1.4.3
go: downloading go.opentelemetry.io/auto/sdk v1.2.1
go: downloading github.com/DataDog/dd-trace-go/orchestrion/all/v2 v2.7.0
go: github.com/DataDog/dd-trace-go/orchestrion/all/v2@v2.7.0 requires go >= 1.25.0 (running go 1.24.8; GOTOOLCHAIN=local)
ensuring required integrations in "/runner/_work/<redacted>/<redacted>/go.mod": go get github.com/DataDog/dd-trace-go/orchestrion/all/v2@v2.7.0: exit status 1
Error: Orchestrion pin failed.
Brief background
Our projects use orchestrion to instrument our code during our CI test phase so test results are emitted to Datadog.
What is relevant here is that our project
go.modhas no direct or transitive dependencies on any of the following:In our project, Datadog instrumentation is accomplished with the test-visibility GHA:
Our project
go.modis on Go 1.24.Behavior
Until recently the action was resolving
orchestrion/all/v2 v2.6.0, but it appearsorchestrion/all/v2 v2.7.0has been released, which requires go1.25.The action ends up bailing with:
The desired behavior would be to not require us to update our project's
go.modto participate in the test instrumentation. Is this possible? Having instability in the CI pipeline- especially when pinned to a major version of the GHA- is unexpected/undesirable.Full output below.