Skip to content

ci: reuse system-tests runner image - #4144

Open
bm1549 wants to merge 4 commits into
masterfrom
brian.marks/reduce-system-tests-ci-plumbing
Open

ci: reuse system-tests runner image#4144
bm1549 wants to merge 4 commits into
masterfrom
brian.marks/reduce-system-tests-ci-plumbing

Conversation

@bm1549

@bm1549 bm1549 commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

Description

Link (AppGate required)

System-test jobs currently spend about 4m18s on recursive submodules and about 5 minutes installing Docker and Python tooling. This moves them to the upstream system-tests runner image, disables dd-trace-php submodules for these jobs, reuses the image virtualenv, and builds only the PHP weblog.

Each pipeline resolves system-tests/main once in prepare code and passes that exact SHA to every system-test job through a dotenv artifact. This keeps upstream source drift between pipelines without letting parallel jobs within one pipeline use different revisions.

The runner stays content-addressed at ci-runner:75a57a4b6391. Each job performs an exact shallow checkout, then runs the upstream build_ci_image.py --check-only check before fetching Docker Hub or Datadog credentials. A change to the upstream runner Dockerfile or requirements.txt fails early until this repository advances the image tag. Parent YAML defaults are moved into the generated child pipeline so the system-test override cannot be outranked by trigger variables.

Expected impact: about 9m18s less wall time per executing job, roughly 2h38m of executor time across 17 routine expansions, or 6h31m when all 42 expansions run. Shallow-checkout savings are not included.

Tested with:

  • Fresh system-tests/main checkout and source/image hash match
  • Generated-pipeline contract for main resolution, dotenv propagation, exact checkout, and image validation
  • Runner tool, virtualenv, default, alternate-weblog, tracer-release, and parametric probes
  • Generated package YAML: 30 definitions / 42 expansions with unchanged matrices
  • Trigger precedence, artifacts, failure propagation, PHP lint, and git diff --check

Reviewer checklist

  • Test coverage seems ok.
  • Appropriate labels assigned.

@bm1549 bm1549 added the AI Generated Largely based on code generated by an AI or LLM. This label is the same across all dd-trace-* repos label Aug 27, 2026
@datadog-prod-us1-5

datadog-prod-us1-5 Bot commented Aug 27, 2026

Copy link
Copy Markdown

Pipelines  Tests

Unblock PR with BitsAI

⚠️ Warnings

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 4 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-php | test_extension_ci: [8.1] — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/apm-reliability/dd-trace-php | bundle for reliability env

View more details · View in GitLab

DataDog/apm-reliability/dd-trace-php | merge-gate

View more details · View in GitLab

View all 4 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

🔄 Datadog auto-retried 2 jobs - 0 passed on retry View in Datadog

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 60.60% (-0.03%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: d7b47e6 | Docs | View more details | Give us feedback!

Comment thread .gitlab/generate-package.php Outdated
@bm1549
bm1549 marked this pull request as ready for review August 27, 2026 13:24
@bm1549
bm1549 requested review from a team as code owners August 27, 2026 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI Generated Largely based on code generated by an AI or LLM. This label is the same across all dd-trace-* repos

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants