Migrate to SLNX#7
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Maintenance-focused PR that migrates the solution to Visual Studio’s XML-based .slnx format and updates repo tooling/CI to use newer .NET SDK and GitHub Actions versions, keeping SDK selection centralized via global.json.
Changes:
- Added
FSharp.Control.R3.slnxand updatedFSharp.Control.R3.slnfto target it. - Updated
global.jsonto .NET SDK10.0.300and adjusted CI/devcontainer configuration accordingly. - Updated GitHub Actions workflows to newer major versions and removed redundant
dotnet-version: 8.xwhereglobal-json-fileis used.
Reviewed changes
Copilot reviewed 9 out of 11 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/FSharp.Control.R3.Tests/FSharp.Control.R3.Tests.fsproj | Minor project file formatting/closing tag change. |
| global.json | Bumps the pinned SDK version to 10.0.300. |
| FSharp.Control.R3.slnx | Adds the new XML-based solution file listing projects and solution items. |
| FSharp.Control.R3.slnf | Switches solution filter to point at the .slnx file. |
| build/build.fsproj | Minor project file formatting/closing tag change. |
| .github/workflows/publish_release.yml | Updates Actions versions; relies on global-json-file for SDK. |
| .github/workflows/publish_ci.yml | Updates Actions versions; relies on global-json-file for SDK. |
| .github/workflows/fsdocs-gh-pages.yml | Updates Actions versions; still installs an additional 6.x SDK alongside global-json-file. |
| .github/workflows/build.yml | Updates Actions versions; relies on global-json-file for SDK. |
| .devcontainer/devcontainer.json | Updates devcontainer .NET feature version to 10.0. |
Comments suppressed due to low confidence (1)
.github/workflows/fsdocs-gh-pages.yml:37
- PR description mentions CI workflows now rely solely on
global-json-filefor SDK resolution, but this workflow still installs an additional SDK viadotnet-version: 6.x. If this is intentional (e.g., docs tooling requires .NET 6), consider updating the PR description to reflect the exception.
- name: Setup necessary dotnet SDKs
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
dotnet-version: |
6.x
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 11 changed files in this pull request and generated 4 comments.
Comments suppressed due to low confidence (1)
.github/workflows/fsdocs-gh-pages.yml:37
./build.sh builddocsexecutes the build project which targets net8.0, but this job currently installs SDKs from global.json (10.0.x) plus 6.x. Without also installing 8.x, the net8.0 build tool/tests are likely to fail at runtime due to missing .NET 8 shared framework. Add 8.x to the installed versions (or retarget build/test projects).
- name: Setup necessary dotnet SDKs
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
dotnet-version: |
6.x
Comment on lines
21
to
25
| - name: Setup necessary dotnet SDKs | ||
| uses: actions/setup-dotnet@v4 | ||
| uses: actions/setup-dotnet@v5 | ||
| with: | ||
| global-json-file: global.json | ||
| dotnet-version: | | ||
| 8.x | ||
|
|
Comment on lines
23
to
27
| - name: Setup necessary dotnet SDKs | ||
| uses: actions/setup-dotnet@v4 | ||
| uses: actions/setup-dotnet@v5 | ||
| with: | ||
| global-json-file: global.json | ||
| dotnet-version: | | ||
| 8.x | ||
|
|
Comment on lines
+19
to
24
| - uses: actions/checkout@v6 | ||
| - name: Setup necessary dotnet SDKs | ||
| uses: actions/setup-dotnet@v4 | ||
| uses: actions/setup-dotnet@v5 | ||
| with: | ||
| global-json-file: global.json | ||
| dotnet-version: | | ||
| 8.x | ||
|
|
Comment on lines
2
to
4
| "solution": { | ||
| "path": "FSharp.Control.R3.sln", | ||
| "path": "FSharp.Control.R3.slnx", | ||
| "projects": [ |
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.
Proposed Changes
Maintenance update covering two areas:
Solution file migration – migrated from the legacy
.slnformat to the new.slnx(XML-based) solution format introduced in Visual Studio 2022+, and updated.slnfto point to the new file.Tooling & CI updates – bumped the .NET SDK in
global.jsonfrom8.0.403to10.0.300, updated the devcontainer dotnet feature from8.0to10.0, removed now-redundantdotnet-version: 8.xentries from all CI workflows (superseded byglobal-json-file), and updated all GitHub Actions to their latest major versions (actions/checkoutv4→v6,actions/setup-dotnetv4→v5,actions/configure-pagesv4→v6,actions/upload-pages-artifactv4→v5,actions/deploy-pagesv4→v5).Types of changes
Checklist
Further comments
All changes are non-functional. The
.slnxformat is fully supported by Visual Studio 17.10+ anddotnetCLI. CI workflows now rely solely onglobal-json-file: global.jsonfor SDK resolution, keeping the version source of truth in a single place.