You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prototype running the Go parametric suite on shared Buildbarn workers without Docker, a Docker socket, worker internet access, or preinstalled repository tooling.
Changes
Add a hermetic Bazel workspace with pinned Go, Python, PRoot, test-agent, and rules_itest dependencies.
Add a process-backed parametric runtime that preserves the existing Docker fixture API where practical.
Run the Go 2.4 parametric suite across 32 pytest-split shards using least-duration grouping.
Run the test agent as a rules_itest service and pass its assigned APM/OTLP ports to the process runtime.
Build AppSec support into the Go artifact so ASM_ACTIVATION capability checks reflect the production tracer.
Add a PRoot smoke test and process-runtime unit coverage.
Document the Buildbarn workflow while leaving the existing Docker workflow as the default.
Validation
bazelisk test //... --config=buildbarn --jobs=1999 — passed (invocation 1a0e4160-412f-4f41-a4fd-7873c6090f4d).
32-shard Go run — passed in 181.2s wall time; shard execution ranged from 28.6s to 49.5s (invocation dc5cf635-45e3-414e-ac2e-221bbe2b2941). Shared-pool queueing made total wall time slower than the 16-shard baseline despite the shorter shard tail.
16-shard baseline — passed in 147.3s wall time; shard execution ranged from 55.3s to 79.1s (invocation aa324b02-b143-4b86-afdb-686a963bcfa8).
PRoot smoke test — passed (invocation a8f8d847-4ccf-4b17-8285-1a9e33cc34fd).
Ruff, Buildifier, and focused process-runtime tests passed locally.
Notes
This is intentionally a draft POC. The main review questions are whether Buildbarn is the desired execution environment, whether the process-backed fixture abstraction is acceptable, and how dependency/version ownership should work before productionizing it.
Reviewer checklist
Framework changes have approval from the R&P team.
Test/runtime behavior is acceptable to the Go tracer owners.
Buildbarn ownership and support expectations are agreed.
CI on my pull request is failing. Help me find and fix the root cause of each failing job below — they were flagged as caused by changes in this PR, so focus on the diff. For each job, explain the failure and propose a fix.
Branch: poc/buildbarn-go-parametric
Testing the test | lint / lint
Commit: 5fbaf5a3e1e32fcf22f84c948a2a7117087b114c
Error (code / quality):
Linting error due to formatting issues in 1 file.
CI job: https://github.com/DataDog/system-tests/actions/runs/31640918622/job/94262880930
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Prototype running the Go parametric suite on shared Buildbarn workers without Docker, a Docker socket, worker internet access, or preinstalled repository tooling.
Changes
ASM_ACTIVATIONcapability checks reflect the production tracer.Validation
bazelisk test //... --config=buildbarn --jobs=1999— passed (invocation1a0e4160-412f-4f41-a4fd-7873c6090f4d).dc5cf635-45e3-414e-ac2e-221bbe2b2941). Shared-pool queueing made total wall time slower than the 16-shard baseline despite the shorter shard tail.aa324b02-b143-4b86-afdb-686a963bcfa8).a8f8d847-4ccf-4b17-8285-1a9e33cc34fd).Notes
This is intentionally a draft POC. The main review questions are whether Buildbarn is the desired execution environment, whether the process-backed fixture abstraction is acceptable, and how dependency/version ownership should work before productionizing it.
Reviewer checklist