Repository navigation
Migrate Paket builds to NuGet CPM - #314
Draft
sergey-tihon wants to merge 1 commit into
Draft
sergey-tihon wants to merge 1 commit into
sergey-tihon wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
🟢 Approval recommended
The migration is internally consistent, verified across all test suites, and no unresolved correctness issues were identified.
0 open findings
What changed in this PR
Migrates dependency management and packaging from Paket to NuGet CPM and SDK tooling.
Changes:
- Centralizes NuGet versions and updates project references.
- Packages three
net8.0libraries with symbols. - Adds Trusted Publishing and removes obsolete Paket assets.
| File | Description |
|---|---|
tests/FsUnit.Xunit.Test/paket.references |
Removes Paket references. |
tests/FsUnit.Xunit.Test/FsUnit.Xunit.Test.fsproj |
Adds NuGet test dependencies. |
tests/FsUnit.NUnit.Test/paket.references |
Removes Paket references. |
tests/FsUnit.NUnit.Test/FsUnit.NUnit.Test.fsproj |
Adds NuGet test dependencies. |
tests/FsUnit.MsTest.Test/paket.references |
Removes Paket references. |
tests/FsUnit.MsTest.Test/FsUnit.MsTest.Test.fsproj |
Adds NuGet test dependencies. |
src/install.ps1 |
Removes legacy binding redirects. |
src/FsUnit.Xunit/sample.paket.template |
Removes obsolete sample package. |
src/FsUnit.Xunit/paket.template |
Removes Paket packaging metadata. |
src/FsUnit.Xunit/paket.references |
Removes Paket references. |
src/FsUnit.Xunit/FsUnitSample.fs.pp |
Removes legacy sample content. |
src/FsUnit.Xunit/FsUnit.Xunit.fsproj |
Adds SDK packaging and targets net8.0. |
src/FsUnit.NUnit/sample.paket.template |
Removes obsolete sample package. |
src/FsUnit.NUnit/paket.template |
Removes Paket packaging metadata. |
src/FsUnit.NUnit/paket.references |
Removes Paket references. |
src/FsUnit.NUnit/FsUnitSample.fs.pp |
Removes legacy sample content. |
src/FsUnit.NUnit/FsUnit.NUnit.fsproj |
Adds SDK packaging metadata. |
src/FsUnit.MsTestUnit/sample.paket.template |
Removes obsolete sample package. |
src/FsUnit.MsTestUnit/paket.template |
Removes Paket packaging metadata. |
src/FsUnit.MsTestUnit/paket.references |
Removes Paket references. |
src/FsUnit.MsTestUnit/FsUnitSample.fs.pp |
Removes legacy sample content. |
src/FsUnit.MsTestUnit/FsUnit.MsTest.fsproj |
Adds SDK packaging and targets net8.0. |
README.md |
Documents CPM and publishing. |
paket.lock |
Removes Paket lock data. |
paket.dependencies |
Removes Paket dependency configuration. |
FsUnit.slnx |
Removes obsolete Paket entries. |
docs/xUnit.fsx |
Loads xUnit build outputs. |
docs/NUnit.fsx |
Loads NUnit build outputs. |
docs/MsTest.fsx |
Loads MSTest build outputs. |
docs/index.fsx |
Loads NUnit test outputs. |
docs/FsUnitTyped.fsx |
Loads NUnit test outputs. |
Directory.Packages.props |
Defines central package versions. |
Directory.Build.props |
Defines shared package metadata and symbols. |
build/build.fsproj |
Excludes build tooling from CPM. |
build/build.fs |
Replaces Paket packaging with dotnet pack. |
build.sh |
Removes Paket restore. |
build.cmd |
Removes Paket restore. |
.gitignore |
Removes Paket-specific exclusions. |
.github/workflows/publish.yml |
Adds Trusted Publishing workflow. |
.github/workflows/main.yml |
Removes Paket restore from CI. |
.config/dotnet-tools.json |
Replaces Paket with dotnet-outdated. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
CaptnCodr
reviewed
Oct 10, 2026
CaptnCodr
left a comment
Member
There was a problem hiding this comment.
Updating all frameworks can be smart here when we drop netstandard2.0 and have a major release anyways.
| <PackageVersion Include="NUnit3TestAdapter" Version="4.6.0" /> | ||
| <PackageVersion Include="System.Collections.NonGeneric" Version="4.3.0" /> | ||
| <PackageVersion Include="NHamcrest" Version="4.0.0" /> | ||
| <PackageVersion Include="xunit.v3" Version="1.0.0" /> |
Member
There was a problem hiding this comment.
There is already xunit.v3 4.0.2 on Nuget.
| <PackageVersion Include="System.Collections.NonGeneric" Version="4.3.0" /> | ||
| <PackageVersion Include="NHamcrest" Version="4.0.0" /> | ||
| <PackageVersion Include="xunit.v3" Version="1.0.0" /> | ||
| <PackageVersion Include="xunit.runner.visualstudio" Version="3.0.0" /> |
Member
There was a problem hiding this comment.
xunit.runner.visualstudio 4.0.1 on Nuget.
| <PackageVersion Include="xunit.v3" Version="1.0.0" /> | ||
| <PackageVersion Include="xunit.runner.visualstudio" Version="3.0.0" /> | ||
| <PackageVersion Include="MSTest.TestFramework" Version="3.6.4" /> | ||
| <PackageVersion Include="MSTest.TestAdapter" Version="3.6.4" /> |
This branch has not been deployed
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
dotnet pack; publish the three library packages and matching.snupkgsymbol packages.CopyBinaries, and the legacyinstall.ps1binding-redirect script.net8.0only; NUnit was alreadynet8.0only.Verification
DOTNET_ROLL_FORWARD=Major dotnet run --project build/build.fsproj -- NuGetpassed: build plus 338 NUnit, 338 xUnit, and 270 MSTest tests..nupkgand three.snupkgpackages; all library assets/dependency groups targetnet8.0only.dotnet outdateddiscovers CPM-managed dependencies.output/xUnit.html; it still reports pre-existing F# errors indocs/index.fsx:163.