-
Notifications
You must be signed in to change notification settings - Fork 75
Migrated Fornax to 0.16.0-beta002
#736
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the documentation build to use Fornax.Core v0.15.1 and the new FSharp.Formatting ApiDocs API, replacing local DLL references with NuGet packages and adjusting loader/generator scripts accordingly.
- Switch all
#rreferences tonuget: Fornax.Core, 0.15.1(and related packages) - Update the API reference loader to use
FSharp.Formatting.ApiDocsand adjust types/fields - Replace
Custom(...)withHtmlProperties.Custom(...)in HTML generators
Reviewed Changes
Copilot reviewed 14 out of 16 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| docs/loaders/pageloader.fsx | Bump Fornax.Core reference to NuGet |
| docs/loaders/globalloader.fsx | Bump Fornax.Core reference to NuGet |
| docs/loaders/copyloader.fsx | Bump Fornax.Core reference to NuGet |
| docs/loaders/contentloader.fsx | Bump references to NuGet for Fornax.Core and Markdig |
| docs/loaders/apirefloader.fsx | Migrate from MetadataFormat to ApiDocs.GenerateModel |
| docs/generators/partials/menu.fsx | Bump Fornax.Core reference; use HtmlProperties.Custom |
| docs/generators/partials/layout.fsx | Bump Fornax.Core reference; use HtmlProperties.Custom |
| docs/generators/partials/header.fsx | Bump Fornax.Core reference |
| docs/generators/partials/footer.fsx | Bump Fornax.Core reference; use HtmlProperties.Custom |
| docs/generators/page.fsx | Bump Fornax.Core reference |
| docs/generators/lunr.fsx | Migrate to new ApiDocs model; switch JSON serialization |
| docs/generators/apiref.fsx | Migrate templates/code to ApiDocs types and APIs |
| docs/config.fsx | Bump Fornax.Core reference |
| .config/dotnet-tools.json | Update fornax tool version to 0.15.1 |
Comments suppressed due to low confidence (1)
docs/generators/apiref.fsx:199
- [nitpick] This heading says "Declared Modules" but you’re iterating over
n.Entities, which may include both modules and types. Either filter to only modules or update the label to accurately reflect what is being listed (e.g. "Declared Entities").
b [] [!! "Declared Modules"]
d457f7c to
5bbf5f2
Compare
|
@Numpsy I’ve migrated to the farnax 0.15.1. |
|
Good work! But let's not merge this until CI is green. I believe the |
Merged! Can you rebase @xperiandri ? After that CI should be green. |
You mean dotnet/fsharp#18596 or something else? |
|
@Numpsy Yes, exactly that one |
|
@knocte the PR is not yet ready to merge |
Should we revert the migration from Newtonsoft to System.Text.Json then? Feels like it was to early to do that. |
|
If I run the FAKE 'docs' task on a clean source tree then I get this from the build, because it seems like the dlls only exist in the 'build' directory under the root of the source tree: and the CI seems to be the same - https://github.com/fsprojects/FSharpLint/actions/runs/16109933504/job/45452089298#step:7:61 If I do a full build of everything first then I get and the API docs are empty |
|
I call |
|
Hmm, looks like the 'Docs' target in build.fsx runs the 'BuildRelease' target, which sets the output directory for the build to |
|
fwiw, I opened ionide/Fornax#125 to see if it'd be possible to get a build of Fornax that could be used with FSharp.Formatting v20, rather than needing to keep it at v16 |
|
In the latest update I removed that, now everything is built locally |
|
@xperiandri: couple of things:
Thanks |
|
If there are no more remarks, I propose to merge this. |
It seems the API documentation it's still not being generated: https://github.com/fsprojects/FSharpLint/actions/runs/16157972424/job/45604599421?pr=736#step:6:76 |
There's a chain of old stuff that needs updating - it seems that the compiler tools used by the old versions of Fornax can't read the current assemblies (may or may not be related fo compressed metadata in FSharp.Core, not sure) - I've got that updated and just got a local build using Fornax 0.16 and FSharp.Formatting 20.0.1 - |
|
I tried but not got the result. |
Numpsy@3736e1f |
docs/loaders/pageloader.fsx
Outdated
| @@ -1,5 +1,4 @@ | |||
| #r "../_lib/Fornax.Core.dll" | |||
|
|
|||
| #r "nuget: Fornax.Core, 0.15.1" | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xperiandri given that last version of this PR is targetting Fornax 0.16.x, I guess these refs need to be updated too? Also PR title.
53634ab to
b173d9f
Compare
Fornax to 0.15.1Fornax to 0.16.0-beta002
## [0.25.0] - 2025-07-11 - Migrate from `Paket` to `Directory.Packages.props` #722 [@xperiandri] - Migrate to .NET `9.0.201` and FCS `43.9.201` #722 [@xperiandri] - Write test logs to test context output #722 [@xperiandri] - Use string interpolation instead of `+` concatenation #724 [@xperiandri] - Run tests in parallel #728 [@xperiandri] - Remove `NoPartialFunctions` compiler workaround (#698) [@webwarrior-ws] - Add `SLNX` and `SLNF` format support and migrate to SLNX solution #723 [@xperiandri] Remove `Ionide.ProjInfo.Sln` NuGet package dependency - Remove `Newtonsoft.Json` NuGet dependency #725 [@xperiandri] - Add missing rule checks for FL0079-FL0081 #713 [@BennieCopeland] - Modify `.gitignore` to the Visual Studio standard one #735 [@xperiandri] - Add basic Copilot instructions and GitHub MCP #726 [@xperiandri] - Migrate `Fornax` to `0.16.0-beta002` and `FSharp.Formatting` to `20.0.1` #736 [@xperiandri, @Numpsy] - Update the build instructions to use `dotnet fsi` instead of `fake-cli` #734 [@Numpsy]
Recent fix [1] for our scheduled CI build didn't last long. Suddenly the "Restore tools" step (`dotnet tool restore`) started failing in Linux because the GithubActions agent's dotnet version was apparently upgraded from 9.0.306 to 9.0.307. Given this, the most sensible approach to fix this is revisit our RollForward policy, which was disabled in a recent PR [2] because of apparent issues when upgrading our docs generation. That issue seems to not be happenning anymore because our CIs are green even when we upgraded to a .NET version newer than 9.0.300 (maybe thanks to our Fornax dependency upgrade?), so it seems safe to restore to a "Minor" setting here. [1] fsprojects#780 [2] fsprojects#736
Recent fix [1] for our scheduled CI build didn't last long. Suddenly the "Restore tools" step (`dotnet tool restore`) started failing in Linux because the GithubActions agent's dotnet version was apparently upgraded from 9.0.306 to 9.0.307. Given this, the most sensible approach to fix this is revisit our RollForward policy, which was disabled in a recent PR [2] because of apparent issues when upgrading our docs generation. That issue seems to not be happenning anymore because our CIs are green even when we upgraded to a .NET version newer than 9.0.300 (maybe thanks to our Fornax dependency upgrade?), so it seems safe to restore to a "Minor" setting here. [1] #780 [2] #736





No description provided.