Repository navigation
Bobcat 1.0.0-rc.1 - #5697
Merged
Merged
Bobcat 1.0.0-rc.1#5697
Conversation
- Bobcat, Bobcat.Generators, Bobcat.Xunit and Bobcat.Supervisor 1.0.0-alpha.1 -> 1.0.0-rc.1. - Drop build/'s fresh-process retry policy: Bobcat's DefaultFailurePolicy now retries a Retry/Isolated-tagged test in a fresh process itself (bobcat#661). Same ceiling (3), same opt-in. - Drop the display-name TestFilter workaround and the committed build/test-ledger/: Bobcat keys the ledger by display name (bobcat#730). The ledger now travels as a CI artifact: each test job downloads the newest successful master run's folded-test-ledgers. - The retry ledger and job summary count skipped tests on their own (bobcat#655). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YDKQhnBVcmVLCTkJbVeADk
This was referenced Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves Marten onto Bobcat 1.0.0-rc.1 (nuget.org, 2026-10-18).
Pins
Directory.Packages.props:BobcatVersion1.0.0-alpha.1 → 1.0.0-rc.1. That one property sets Bobcat, Bobcat.Generators, Bobcat.Xunit (DaemonTests and DaemonTests.ManualOnly) and Bobcat.Supervisor (build/).Nothing else moved:
BobcatXunitV3Version): DaemonTests is already on the line rc.1 needs.VersionOverrideinbuild/build.csproj: rc.1 has the same floor as alpha.1 (2.90.2), so it stays, as bobcat#693's docs describe. Marten's own pins stay at 2.90.1. NoNoWarn NU1605.Changes and why
build/'s own fresh-process retry policy (RetryOptedInTestsInFreshProcess, from Supervised CI on Bobcat 0.60.4: worker lanes, per-lane databases, opt-in retries, committed ledger (bobcat#565) #5687). Bobcat 1.0'sDefaultFailurePolicynow retries aRetry-tagged test in a fresh process by default (bobcat#661).Isolated=truewas already fresh-process. Behaviour is the same as before: retries stay opt-in, the ceiling is 3 attempts with 25 retries per run, and--disable-test-retrystill turns them off. Only a[Trait("RetryWarm","true")]would retry warm, and nothing in Marten has one. The oneRetrytrait in the repo (Bug_catching_up_should_catch_marten_command_exceptions) gets a fresh process, as it did before.LaneDurationsand theSupervisor.TestFilterhook, plus re-keying earlier observations onto this run's uids). Bobcat now keysTestLedgerandKnownDurations()by display name itself (bobcat#730). It re-keys an older uid-keyed ledger when it loads one, and printsKnown durations matched N/Mat the top of the run report.SupervisedTests.cslogsresults.DurationCoveragein place of its own matched count.build/test-ledger/and--update-test-ledgerare gone. Each test job downloads thefolded-test-ledgersartifact from the newest successful master run intoartifacts/previous-test-ledger/and balances its lanes on it. The roll-up job already gathers each job's folded ledger into that artifact. The workflow gainspermissions: actions: readso the download can run. The step is best-effort: with no ledger, lanes balance by test count and the report says so.--previous-test-ledger <dir>pointed at a downloaded artifact covers that.PruneTestsNotSeenSince). Before, a test was dropped when it was missing from the current run, which also threw away history during a filtered run.Job/RetriesPerformed/FlakyTests, so it is unaffected..nuke/build.schema.jsonare updated to match. The CLAUDE.md note that "BOBCAT_SPEC_CONSOLE=1prints nothing when redirected on alpha.1" now points at bobcat#717, which fixed it in rc.1.Nothing to change for the other rc.1 breaking changes. Marten never uses
CritterStackScenario.Store/CritterStackSpec.Store(renamed toEventStore, bobcat#709). Collapsed-theory folding (bobcat#649) and the matched-durations and parallel-efficiency report lines (bobcat#663/#664) come throughRunReporton their own.Ran locally (no Postgres; other agents share this machine)
dotnet build src/Marten.slnx -c Release: 0 errors.build/build.csproj: 0 warnings, 0 errors.DaemonTests --list-testson the rc.1 host: 377 tests discovered../build.sh test-source-generator --framework net9.0 --previous-test-ledger <master run 39031256690's folded-test-ledgers>: 19/19 passed through the rc.1 supervisor, and the run printedKnown durations matched 19/19 test(s). The ledger in master's artifact is version 1 and keyed by uid; it loaded and was written back as version 3, keyed by display name.EventSourcingTests.net10.0.jsonloads 2525 tests and gives 2525 durations keyed by display name, with no shared display names.The Postgres suites are left to this PR's CI.
🤖 Generated with Claude Code