Skip to content

MAINT: Batch integration tests - #2433

Open
jbolor21 wants to merge 1 commit into
microsoft:mainfrom
jbolor21:jbolor21-split-integration-tests
Open

MAINT: Batch integration tests#2433
jbolor21 wants to merge 1 commit into
microsoft:mainfrom
jbolor21:jbolor21-split-integration-tests

Conversation

@jbolor21

@jbolor21 jbolor21 commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Description

The scheduled integration-test job can exhaust the memory available on the hosted runner. The job reached 95% memory usage and the Azure Pipelines agent stopped responding after pytest collected 222 tests, while authentication, secret retrieval, dependency setup, and token caching had already completed.

This change runs integration-test areas in sequential pytest batches. Each batch uses a fresh process, releasing accumulated test memory before the next group starts. Each batch writes a separate JUnit result file, which Azure DevOps merges when publishing results. Full integration coverage and existing reporting are preserved; end-to-end and partner-integration jobs are unchanged.

Run integration test groups in separate pytest processes to release runner memory between batches.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@jbolor21
jbolor21 marked this pull request as draft August 19, 2026 20:03
@jbolor21
jbolor21 marked this pull request as ready for review August 19, 2026 20:08
@jbolor21 jbolor21 changed the title [DRAFT] MAINT: Batch integration tests MAINT: Batch integration tests Aug 19, 2026
batch_number=0
for test_batch in $test_batches; do
batch_number=$((batch_number + 1))
make ${{ parameters.makeTarget }} INTEGRATION_TESTS="$test_batch" JUNIT_XML="junit/test-results-${batch_number}.xml"

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.

Rich agrees with this comment but it is copilot generated:

This loop returns only the final make command's exit status. If an earlier batch fails and a later batch passes, the Bash step succeeds, and PublishTestResults@2 does not fail the job by default. Please stop on the first failure with set -e, or collect the statuses and exit nonzero after all batches run.

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.

2 participants