Skip to content

Build: pin SDK-implicit FSharp.Core and bump FsharpVersion to 10.1.302 (fixes repo-wide NU1605) - #8386

Merged
Aaronontheweb merged 1 commit into
akkadotnet:devfrom
Aaronontheweb:fix/fsharp-core-nu1605
Jul 16, 2026
Merged

Aaronontheweb merged 1 commit into
akkadotnet:devfrom
Aaronontheweb:fix/fsharp-core-nu1605

Conversation

@Aaronontheweb

Copy link
Copy Markdown
Member

Fixes repo-wide CI break: NU1605 FSharp.Core downgrade

Every CI run since ~2026-07-14 fails at compile with:

error NU1605: Warning As Error: Detected package downgrade: FSharp.Core from 10.1.302 to 10.1.301.
 Akka.FSharp.Tests -> Akka.FSharp -> FSharp.Core (>= 10.1.302)
 Akka.FSharp.Tests -> FSharp.Core (>= 10.1.301)

Root cause

Akka.FSharp had no explicit FSharp.Core reference, so it rode the F# SDK's implicit one — whose version tracks whatever .NET SDK is installed on the build agent. The Azure hosted images rolled a newer SDK between the last green dev build (2026-07-12) and 2026-07-15, bumping the implicit FSharp.Core to 10.1.302, which now conflicts with the repo-pinned $(FsharpVersion) of 10.1.301 used by Akka.FSharp.Tests. This is infrastructure drift — no code change in this repo triggered it, and it breaks every branch and PR identically (all four compile jobs fail with the same error).

Fix (2 lines)

  1. Bump <FsharpVersion> 10.1.301 → 10.1.302 in Directory.Build.props.
  2. Pin the SDK-implicit reference in Akka.FSharp.fsproj via <PackageReference Update="FSharp.Core" Version="$(FsharpVersion)"/> — the same Update technique Akka.FSharp.Tests already uses. This makes the resolved FSharp.Core independent of the build agent's SDK, so future image rolls can't reintroduce NU1605 from either direction (this incident was SDK-ahead-of-pin; the pre-existing comment in the test project records the earlier FsCheck-ahead-of-SDK incident). It also makes the published Akka.FSharp package's FSharp.Core dependency floor a deliberate, reviewable value instead of an artifact of whichever SDK image packed the release.

Verification

Azure hosted images rolled a newer .NET SDK whose implicit FSharp.Core
(10.1.302) conflicts with the repo-pinned 10.1.301, failing restore with
NU1605 on every branch. Pin FSharp.Core explicitly in Akka.FSharp so the
resolved version no longer depends on the build agent's SDK.
@Aaronontheweb
Aaronontheweb enabled auto-merge (squash) July 16, 2026 01:23
@Aaronontheweb
Aaronontheweb disabled auto-merge July 16, 2026 10:36
@Aaronontheweb
Aaronontheweb merged commit 7e4db36 into akkadotnet:dev Jul 16, 2026
9 of 11 checks passed
@Aaronontheweb
Aaronontheweb deleted the fix/fsharp-core-nu1605 branch July 16, 2026 10:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant