Support prerelease versions in the release and CI workflows - #368
Merged
Conversation
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.
Summary
Groundwork for a
preview/net11release train: a long-lived branch whose version.json carries a-preview.{height}prerelease tag and whose packages additionally targetnet11.0, released through the existing Release workflow. These are the main-side changes; they are inert for stable releases.gh release createpasses--prereleasefor versions with a prerelease tag, so a preview never becomes the repo's "Latest" release. Thedocs,mark-api-shipped, andpropagate-baseline-to-mainjobs skip prerelease versions: the site default must never point at a preview, the PublicAPI freeze +PackageValidationBaselineVersionbump are stable-release rituals, andpropagate_baseline.pyonly ever raises — a1.3.0-preview.Nout-ranks the latest stable and would poison main into validating against a non-stable baseline. Also corrects thePublicRelease=truecomment: it drops the non-public-g<sha>suffix; a prerelease tag from version.json survives it.preview/**branches get CI (push + PR), and the pack/upload/publish-preview conditions now includerefs/heads/preview/, so merges to a preview train branch publish prerelease packages to GitHub Packages the same way main merges do. Coverage badge/artifact side effects stay main-only.string.LastIndexOf(char)→AsSpan().LastIndexOf(char). .NET 11 adds aLastIndexOf(char, StringComparison)overload, so CA1307 (viaAnalysisMode=All+TreatWarningsAsErrors) fails the net11.0 compile; the span overload is ordinal by construction on every TFM and keeps the preview branch source-identical to main. A string-overload fix (LastIndexOf(".", StringComparison.Ordinal)) would trip CA1866 instead.Verification
-, so all guards stay true, andpreview/**filters don't affect existing refs).1.3.0-preview.{height}) applied locally on top of this branch: full solution builds with 0 warnings/0 errors,dotnet packpasses package validation against the 1.2.0 baseline including the new net10.0↔net11.0 ApiCompat pair with no new suppressions, and all 24 nupkgs containlib/net11.0with correct per-TFM dependency groups.Backport to v1.0: no