Skip to content

Batch Daily Go Test Parallelizer to process up to 5 files per run - #49960

Merged
pelikhan merged 4 commits into
mainfrom
copilot/batch-multiple-files-per-run
Aug 3, 2026
Merged

Batch Daily Go Test Parallelizer to process up to 5 files per run#49960
pelikhan merged 4 commits into
mainfrom
copilot/batch-multiple-files-per-run

Conversation

Copilot AI commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Daily Go Test Parallelizer was constrained to a single test file per execution, creating unnecessary per-file overhead and limiting throughput. This update shifts the workflow to bounded batching so each daily run can advance multiple files while preserving the same safety posture.

  • Batching and throughput

    • Expanded per-run selection from 1 file to a round-robin batch of up to 5 files.
    • Updated state persistence to store the last file in the processed batch so subsequent runs continue correctly.
  • Validation cost reduction

    • Replaced per-file validation guidance with deduplicated package-level race runs (go test -race once per unique modified package).
    • Kept a single go test ./... pass after candidate edits to avoid repeated full-suite invocations.
  • Safe-output limits and generated workflow

    • Increased create-pull-request.max-patch-files from 1 to 5 to match the new batch size.
    • Regenerated the compiled .lock.yml from the markdown workflow source.
safe-outputs:
  create-pull-request:
    max-patch-files: 5

Copilot AI and others added 2 commits August 3, 2026 12:11
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Optimize Daily Go Test Parallelizer to batch multiple files Batch Daily Go Test Parallelizer to process up to 5 files per run Aug 3, 2026
Copilot AI requested a review from pelikhan August 3, 2026 12:24

@pelikhan pelikhan left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot optimize with inline agents to preserve small context, process up to 25 files.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

@copilot optimize with inline agents to preserve small context, process up to 25 files.

Updated in d41a816. The workflow now processes up to 25 files per run and adds inline parallel-safety-checker agent guidance to keep per-file analysis context small, with regenerated .lock.yml.

@pelikhan
pelikhan marked this pull request as ready for review August 3, 2026 12:46
Copilot AI review requested due to automatic review settings August 3, 2026 12:46
@pelikhan
pelikhan merged commit 762694e into main Aug 3, 2026
1 check passed
@pelikhan
pelikhan deleted the copilot/batch-multiple-files-per-run branch August 3, 2026 12:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the daily Go test parallelizer to batch files, delegate safety checks, and deduplicate validation.

Changes:

  • Expands round-robin batching and safe-output limits.
  • Adds inline safety-analysis agents.
  • Updates token-optimization skill references.
Show a summary per file
File Description
.github/workflows/daily-go-test-parallelizer.md Implements batching, sub-agents, validation, and state persistence.
.github/workflows/daily-go-test-parallelizer.lock.yml Regenerates the compiled workflow.
.github/skills/agentic-workflows/SKILL.md Adds an observability reference.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Suppressed comments (2)

.github/workflows/daily-go-test-parallelizer.md:50

  • The PR title and description specify a batch of up to five files, but the workflow tells the agent to analyze twenty-five. This materially increases cost, timeout risk, and PR scope beyond the requested bound. Change this to five and regenerate the lock file.
Analyze up to twenty-five Go test files per run and add `t.Parallel()` only where parallel execution is demonstrably safe.

.github/workflows/daily-go-test-parallelizer.md:58

  • These selection limits also implement a 25-file batch instead of the five-file batch promised by the PR. Cap both values at 5 so round-robin advancement and the safe-output limit describe the same intended workload.
3. Select up to 25 consecutive paths starting after `last_file`, wrapping to the first path. If the cache is absent, malformed, or names a removed file, start from the first path.
4. Analyze and modify only this selected batch (maximum 25 files).
  • Files reviewed: 3/3 changed files
  • Comments generated: 3
  • Review effort level: Balanced

Comment on lines +38 to 39
max-patch-files: 25
max-patch-size: 2048
## agent: `parallel-safety-checker`
---
description: Review one Go test file for safe t.Parallel additions with minimal context
model: gpt-5-mini
description: Review one Go test file for safe t.Parallel additions with minimal context
model: gpt-5-mini
---
Given one `*_test.go` file path, read only that file and apply this workflow's safety rules.
Copilot AI restored the copilot/batch-multiple-files-per-run branch August 3, 2026 12:50
Copilot AI requested a review from pelikhan August 3, 2026 12:51
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.84.4

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.

[q] Batch multiple files per run in Daily Go Test Parallelizer

3 participants