Skip to content

ci(wip): upload gotestsum JSON, one-acc-test smoke#5068

Draft
pietern wants to merge 3 commits intomainfrom
test-time-profiling
Draft

ci(wip): upload gotestsum JSON, one-acc-test smoke#5068
pietern wants to merge 3 commits intomainfrom
test-time-profiling

Conversation

@pietern
Copy link
Copy Markdown
Contributor

@pietern pietern commented Apr 22, 2026

Why

Need profiling data to figure out where wall-clock time actually goes in Windows test runs. Previous investigations were guess-and-check; we want the full per-test gotestsum timing set as a CI artifact so we can run gotestsum tool slowest and ad-hoc queries offline.

What

  • Upload test-output.json as a per-matrix-entry artifact in the test job.
  • Temporarily gate the acceptance suite to a single fast test (TestAccept/bundle/validate/required) so artifact plumbing is validated in ~5 min per Windows job. Once the artifact is confirmed, the filter will be dropped for a full profiling run.

Plan after this run

  1. Confirm test-output-windows-terraform artifact downloads cleanly.
  2. Drop the ACCEPTANCE_TEST_FILTER override and run again to get full 32-min profile.
  3. Analyze locally, decide next optimization based on evidence.

This pull request and its description were written by Isaac.

pietern added 3 commits April 22, 2026 18:36
To figure out where wall-clock time actually goes in Windows test runs,
upload gotestsum's `test-output.json` as a CI artifact per matrix
entry so we can run `gotestsum tool slowest` (and ad-hoc queries) on
the full per-test timing set afterwards.

Temporarily restrict the acceptance suite to a single test
(`TestAccept/bundle/validate/required`) so the artifact plumbing can
be validated end-to-end in ~5 minutes instead of paying the full
20-32 min Windows run. Once the artifact is confirmed to land, the
filter will be removed.

Co-authored-by: Isaac
Smoke run confirmed the gotestsum JSON artifact pipeline works
(linux-direct artifact: 26MB, 91k JSON rows). Now capturing the
full-suite timing so we can analyze per-test wall-clock across
all matrix entries.

Co-authored-by: Isaac
test-unit and test-acc were both writing to `test-output.json` — the
acc run overwrote the unit run, so the artifact only contained
acceptance timings. Write unit output to `test-output-unit.json`
instead (gotestsum --jsonfile overrides on CLI, last-wins) and upload
both files.

`make slowest` keeps reading `test-output.json` as before.

Co-authored-by: Isaac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant