From fb237e67a5688db1ddca2ed7a022572bea5826a7 Mon Sep 17 00:00:00 2001 From: Copilot Date: Sat, 19 Sep 2026 01:54:21 +0200 Subject: [PATCH 1/2] Split Linux CoreCLR CI into two existing test batches Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- azure-pipelines-PR.yml | 48 ++++++++++++------------------------------ 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/azure-pipelines-PR.yml b/azure-pipelines-PR.yml index 8de979f4031..a3121f096fc 100644 --- a/azure-pipelines-PR.yml +++ b/azure-pipelines-PR.yml @@ -465,8 +465,14 @@ stages: - pwsh: .\eng\MockBuild.ps1 displayName: Build with OfficialBuildId - # Linux + # Linux (split into 2 batches; batch 3 is desktop-only FSharpSuite) - job: Linux + strategy: + matrix: + Batch1: + batchNumber: 1 + Batch2: + batchNumber: 2 pool: name: $(DncEngPublicBuildPool) demands: ImageOverride -equals $(LinuxMachineQueueName) @@ -475,39 +481,13 @@ stages: - name: _SignType value: Test steps: - - checkout: self - clean: true - - script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr - displayName: Build / Test - - task: PublishTestResults@2 - displayName: Publish Test Results - inputs: - testResultsFormat: 'XUnit' - testRunTitle: Linux - testResultsFiles: '*.xml' - mergeTestResults: true - searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)' - continueOnError: true - condition: succeededOrFailed() - - task: PublishBuildArtifacts@1 - displayName: Publish Test Logs - inputs: - PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)' - ArtifactName: 'Linux $(_BuildConfig) test logs' - publishLocation: Container - continueOnError: true - condition: failed() - - script: dotnet build $(Build.SourcesDirectory)/eng/DumpPackageRoot/DumpPackageRoot.csproj - displayName: Dump NuGet cache contents - condition: failed() - - task: PublishBuildArtifacts@1 - displayName: Publish NuGet cache contents - inputs: - PathtoPublish: '$(Build.SourcesDirectory)/artifacts/NugetPackageRootContents' - ArtifactName: 'NuGetPackageContents Linux' - publishLocation: Container - continueOnError: true - condition: failed() + - template: /eng/templates/batched-test-steps.yml + parameters: + buildCommand: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclrbatch $(batchNumber) + testRunTitlePrefix: 'Linux' + artifactNamePrefix: 'Linux' + publishBinLog: true + binLogPath: '$(Build.SourcesDirectory)/artifacts/log/Release/Build.binlog' # MacOS (split into 2 batches; batch 3 is desktop-only FSharpSuite) - job: MacOS From 2a8cc293a4b785a7c9a3649749b5c2d861144d6a Mon Sep 17 00:00:00 2001 From: Copilot Date: Sat, 19 Sep 2026 02:19:05 +0200 Subject: [PATCH 2/2] Add release notes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs/release-notes/.FSharp.Compiler.Service/11.0.100.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md index f02f04c8dcf..f7a4404b100 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md +++ b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md @@ -143,6 +143,7 @@ * Emit debug points at a stack-empty position ([PR #19877](https://github.com/dotnet/fsharp/pull/19877)) * Fix spurious XmlDoc warnings (unknown parameter / no documentation for parameter) under `--warnon:3390` when a get/set property documents the full parameter set across both accessors. ([Issue #13684](https://github.com/dotnet/fsharp/issues/13684), [PR #19884](https://github.com/dotnet/fsharp/pull/19884)) * Replace internal compiler error FS0193 with a clear FS3891 diagnostic when a type abbreviation aliases a generic attribute type (e.g. `type B = A` then `[] ...`). Generic attributes remain unsupported in F#. ([Issue #7877](https://github.com/dotnet/fsharp/issues/7877), [PR #19915](https://github.com/dotnet/fsharp/pull/19915)) +* Split Linux CoreCLR CI into two parallel test batches to reduce test turnaround time. ([PR #20587](https://github.com/dotnet/fsharp/pull/20587)) * Fix Go to Metadata rendering of IL literal (`const`) fields - they now appear with `[]` and their constant value, e.g. `System.Char.MaxValue` no longer shows as a plain `static val`. ([Issue #11526](https://github.com/dotnet/fsharp/issues/11526), [PR #19922](https://github.com/dotnet/fsharp/pull/19922)) * FSI multi-assembly emit (`--multiemit+`) now attaches `System.Diagnostics.DebuggableAttribute(DisableOptimizations|Default)` to each submission's manifest when local optimizations are disabled (`--optimize-`), matching the single-emit and regular-compiler behavior so debuggers see submissions as unoptimized. ([Issue #14572](https://github.com/dotnet/fsharp/issues/14572), [PR #19921](https://github.com/dotnet/fsharp/pull/19921)) * Stop F# Interactive from mutating script arguments that follow `--`. Abbreviated flags like `-d`, `-r`, `-I` after the `--` separator are no longer colon-joined with their next token in `fsi.CommandLineArgs`. ([Issue #10819](https://github.com/dotnet/fsharp/issues/10819), [PR #19926](https://github.com/dotnet/fsharp/pull/19926))