Skip to content

Add Oxpecker repository to build check - #20065

Open
Lanayx wants to merge 7 commits into
dotnet:mainfrom
Lanayx:patch-1
Open

Add Oxpecker repository to build check#20065
Lanayx wants to merge 7 commits into
dotnet:mainfrom
Lanayx:patch-1

Conversation

@Lanayx

@Lanayx Lanayx commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Description

Added Oxpecker repository to build check to prevent issues like #20059

@github-actions

Copy link
Copy Markdown
Contributor

✅ No release notes required

@github-actions github-actions Bot added the ⚠️ Affects-Build-Infra Tooling check: PR touches build infrastructure label Jul 15, 2026
@github-actions

This comment has been minimized.

@Lanayx

Lanayx commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

CI fails at Oxpecker.slnx with

D:\a\_work\1\TestRepo\src\Oxpecker.ViewEngine\Render.fs(61,17): error FS0001: The type 'IAsyncDisposable' is not compatible with the type 'IDisposable' [D:\a\_work\1\TestRepo\src\Oxpecker.ViewEngine\Oxpecker.ViewEngine.fsproj]
D:\a\_work\1\TestRepo\src\Oxpecker.ViewEngine\Render.fs(61,13): error FS0001: The type 'IAsyncDisposable' is not compatible with the type 'IDisposable' [D:\a\_work\1\TestRepo\src\Oxpecker.ViewEngine\Oxpecker.ViewEngine.fsproj]
D:\a\_work\1\TestRepo\src\Oxpecker.ViewEngine\Render.fs(76,17): error FS0001: The type 'IAsyncDisposable' is not compatible with the type 'IDisposable' [D:\a\_work\1\TestRepo\src\Oxpecker.ViewEngine\Oxpecker.ViewEngine.fsproj]
D:\a\_work\1\TestRepo\src\Oxpecker.ViewEngine\Render.fs(76,13): error FS0001: The type 'IAsyncDisposable' is not compatible with the type 'IDisposable' [D:\a\_work\1\TestRepo\src\Oxpecker.ViewEngine\Oxpecker.ViewEngine.fsproj]

I've no idea why, locally it builds fine with 10.0.100 or later

@majocha

majocha commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Encountered conflict between 'Reference:D:\a_work\1/FSharpCompiler/artifacts/bin/FSharp.Core/Release/netstandard2.0/FSharp.Core.dll' and 'Reference:C:\Users\cloudtest.nuget\packages\fsharp.core\10.0.100\lib\netstandard2.1\FSharp.Core.dll'. Choosing 'Reference:D:\a_work\1/FSharpCompiler/artifacts/bin/FSharp.Core/Release/netstandard2.0/FSharp.Core.dll' because AssemblyVersion '11.0.0.0' is greater than '10.0.0.0'.

It loads ns20 FSharp.Core which has no IAD support.

@Lanayx

Lanayx commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

It loads ns20 FSharp.Core which has no IAD support.

This doesn't make sense, all Oxpecker projects target .NET 10, so ns21 should be chosen, not ns20.

@majocha

majocha commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

I think it's the shims to use local compiler in the CI, they probably add the reference to ns20 library. That msbuild prefers it is another story.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

Copilot and others added 3 commits August 3, 2026 21:40
…Core

The regression-test harness referenced the netstandard2.0 FSharp.Core for every
consuming project. A net5.0+/.NET 10 project resolves the FSharp.Core NuGet
package to its netstandard2.1 assembly, which (unlike netstandard2.0) exposes the
IAsyncDisposable-based task-builder 'Using' overload. Forcing netstandard2.0 broke
Oxpecker projects that use 'use'/'use!' with IAsyncDisposable inside task { }.

Select the FSharp.Core assembly the way NuGet would (netstandard2.0 for .NET
Framework/netstandard2.0 consumers, netstandard2.1 otherwise). The reference is
added in a target so TargetFramework is known, and runs before ResolvePackageAssets
so it still wins package conflict resolution over any transitively pulled FSharp.Core.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…NU1902/NU1903

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added the ⚠️ Affects-Restore Tooling check: PR touches NuGet packages or feeds label Aug 4, 2026
@github-actions

This comment has been minimized.

Copilot AI and others added 3 commits August 4, 2026 09:43
…Bug4861)

The module used the no-op RunTestCasesInSequence marker, so its #r/#load
script tests ran concurrently with other collections while sharing the global
checker and process-global reference resolver. This intermittently dropped
closure diagnostics, causing ExactlyOneError.Bug4861 to observe 0 diagnostics
for a missing '#r' reference. Use the NotThreadSafeResourceCollection
(DisableParallelization) like other reference-resolution-sensitive test modules.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…termittent MSB4057

The EndToEndBuildTests job runs '.\Build.cmd -c Release -pack' without -ci, so Arcade
treats it as a local build and re-enables UpdateXlfOnBuild. This intermittently fails on
the multi-targeted FSharp.Core build with:
  error MSB4057: The target "UpdateXlf" does not exist in the project. [TargetFramework=netstandard2.1]
(dotnet#19961). Updating xlf files is never needed in CI, so disable it for this step,
matching the existing pattern used by tests/ILVerify/ilverify.ps1.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

This comment has been minimized.

@github-actions github-actions Bot added ⚠️ Affects-Test-Tooling Tooling check: PR touches test framework infrastructure ⚠️ Scope-Review-Needed Tooling check: PR scope exceeds title/description labels Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

🔍 Tooling Safety Check — Affects-Build-Infra, Affects-Restore
Affects-Build-Infra: modifies azure-pipelines-PR.yml, UseLocalCompiler.Directory.Build.props
Affects-Restore: adds MessagePack PackageReference

Generated by PR Tooling Safety Check · opus46 8.2M ·

@T-Gro

T-Gro commented Aug 4, 2026

Copy link
Copy Markdown
Member

@copilot resolve the merge conflicts in this pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚠️ Affects-Build-Infra Tooling check: PR touches build infrastructure ⚠️ Affects-Restore Tooling check: PR touches NuGet packages or feeds ⚠️ Affects-Test-Tooling Tooling check: PR touches test framework infrastructure ⚠️ Scope-Review-Needed Tooling check: PR scope exceeds title/description

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

4 participants