Skip to content

Bump Microsoft.OpenApi to 3.11.0 and fix two flaky CI tests - #4632

Merged
akira28 merged 1 commit into
mainfrom
bump-openapi-and-deflake-batch-runner
Oct 29, 2026
Merged

akira28 merged 1 commit into
mainfrom
bump-openapi-and-deflake-batch-runner

Conversation

@akira28

@akira28 akira28 commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Updates Microsoft.OpenApi to 3.11.0 and Microsoft.OpenApi.Readers to 1.6.31, and removes a wall-clock assertion from one batch runner test. Both changes target the two test failures on the Windows job of the main run for #4630.

Affects: API reference, Release notes

Prompt summary: Investigate the failed Windows CI job on main. Check whether the regex timeout comes from an outdated library, then bump all Microsoft.OpenApi packages and loosen the 5 second bound in the flaky changelog test.

Why

Microsoft.OpenApi 3.10.2 validates component keys with a regex that has a 100 ms timeout. On a loaded CI runner it throws RegexMatchTimeoutException, which failed BuildPropertyList_AllOfUnionWithAMapOnlyBase_StaysAUnionAndKeepsTheMap. Upstream tracks this as microsoft/OpenAPI.NET#3101 and fixed it in #3108, merged after 3.10.2 shipped.

Run_ABatchFailsLate_RunningSiblingsObserveCancellation asserted that the run finishes in under 5 seconds. It took 8.7 seconds on a slow Windows runner.

What

OpenAPI package versions

Microsoft.OpenApi moves from 3.10.2 to 3.11.0, the release after the upstream fix. Microsoft.OpenApi.Readers moves from 1.6.30 to 1.6.31, the latest release on its 1.x line.

Batch runner test

The elapsed-time assertion is gone. The siblings sleep for 10 seconds unless the runner cancels them, so the existing probe.Cancelled.Should().Be(3) assertion already proves the cancellation and does not depend on machine speed.

Out of scope: Run_ABatchThrowsLate_RunningSiblingsObserveCancellation has the same shape but no timing assertion, so it is unchanged. I did not read the 3.11.0 changelog for other behaviour changes. The two affected test projects pass locally.

Verify

dotnet test tests/Elastic.ApiExplorer.Tests/
dotnet test tests/Elastic.Changelog.Tests/

🤖 Generated with Claude Code

Microsoft.OpenApi 3.10.2 validates component keys with a 100 ms regex timeout. A loaded CI runner trips it and fails the test with RegexMatchTimeoutException (microsoft/OpenAPI.NET#3101). Version 3.11.0 carries the fix. Microsoft.OpenApi.Readers moves to 1.6.31.

The "elapsed < 5s" check in Run_ABatchFailsLate_RunningSiblingsObserveCancellation flaked on slow Windows runners. The Cancelled count already proves the siblings stopped, so the timing check goes.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@akira28
akira28 requested a review from a team as a code owner October 29, 2026 09:19
@akira28
akira28 requested a review from Mpdreamz October 29, 2026 09:19
@github-actions

Copy link
Copy Markdown
Contributor

Docs preview (local build)

Handbook preview: https://docs-v3-preview.elastic.dev/elastic/docs-builder/pull/4632/

@akira28
akira28 merged commit 05d74e0 into main Oct 29, 2026
41 of 42 checks passed
@akira28
akira28 deleted the bump-openapi-and-deflake-batch-runner branch October 29, 2026 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant