Skip to content

Conversation

@xperiandri
Copy link
Collaborator

No description provided.

Copilot AI review requested due to automatic review settings July 7, 2025 04:47
Copy link

Copilot AI left a 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 #r references to nuget: Fornax.Core, 0.15.1 (and related packages)
  • Update the API reference loader to use FSharp.Formatting.ApiDocs and adjust types/fields
  • Replace Custom(...) with HtmlProperties.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"]

@xperiandri xperiandri force-pushed the fornax-0.15.1 branch 3 times, most recently from d457f7c to 5bbf5f2 Compare July 7, 2025 06:27
@xperiandri
Copy link
Collaborator Author

@Numpsy I’ve migrated to the farnax 0.15.1.
Not latest as latest need 9.0.300
Maybe targeting 9.0.300 everywhere will work.
I had issues with deserialization in another project, hence not migrated to 9.0.300

@knocte
Copy link
Collaborator

knocte commented Jul 7, 2025

Good work! But let's not merge this until CI is green.

I believe the deployReleaseBinaries problem will be fixed by #737. After I merge it, you could rebase this PR and then it will have full green CI.

@knocte
Copy link
Collaborator

knocte commented Jul 7, 2025

I believe the deployReleaseBinaries problem will be fixed by #737. After I merge it, you could rebase this PR and then it will have full green CI.

Merged! Can you rebase @xperiandri ? After that CI should be green.
Thanks!

@Numpsy
Copy link
Contributor

Numpsy commented Jul 7, 2025

@Numpsy I had issues with deserialization in another project

You mean dotnet/fsharp#18596 or something else?

@xperiandri
Copy link
Collaborator Author

@Numpsy Yes, exactly that one

@xperiandri
Copy link
Collaborator Author

@knocte the PR is not yet ready to merge

@knocte
Copy link
Collaborator

knocte commented Jul 7, 2025

You mean dotnet/fsharp#18596 or something else?

Should we revert the migration from Newtonsoft to System.Text.Json then? Feels like it was to early to do that.

@Numpsy
Copy link
Contributor

Numpsy commented Jul 7, 2025

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:

image

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

image

and the API docs are empty

@xperiandri
Copy link
Collaborator Author

I call dotnet tool run fornax within the docs folder and it works

@Numpsy
Copy link
Contributor

Numpsy commented Jul 7, 2025

Hmm, looks like the 'Docs' target in build.fsx runs the 'BuildRelease' target, which sets the output directory for the build to ./build/, so if that's the only target which has been run (as I think happens in the CI), then the dlls aren't in the FSharpLint.Core\bin folder where apirefloader.fsx is looking?

@Numpsy
Copy link
Contributor

Numpsy commented Jul 7, 2025

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

@xperiandri
Copy link
Collaborator Author

In the latest update I removed that, now everything is built locally

@knocte
Copy link
Collaborator

knocte commented Jul 8, 2025

@xperiandri: couple of things:

  1. can you please expand the commit msg of the "revert: mindsers/changelog-reader-action@v1" to explain the motivation for it? (the why, not the what)
  2. can you squash the "fixup! feat(ci): update all GitHub actions" commit with the "feat(ci): update all GitHub actions" one?

Thanks

@xperiandri
Copy link
Collaborator Author

If there are no more remarks, I propose to merge this.
And when TheAngryByrd merges Numpsy's Fornax update to 8.0 and then to 9.0 we update Fornax here

@ribeirotomas1904
Copy link
Contributor

If there are no more remarks, I propose to merge this. And when TheAngryByrd merges Numpsy's Fornax update to 8.0 and then to 9.0 we update Fornax here

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

@Numpsy
Copy link
Contributor

Numpsy commented Jul 9, 2025

If there are no more remarks, I propose to merge this. And when TheAngryByrd merges Numpsy's Fornax update to 8.0 and then to 9.0 we update Fornax here

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 -
image

@Numpsy
Copy link
Contributor

Numpsy commented Jul 9, 2025

As it stands I get this
image
But with the mdcomments flag I mentioned before I get this
image

@xperiandri
Copy link
Collaborator Author

I tried but not got the result.
Could you push your branch?

@Numpsy
Copy link
Contributor

Numpsy commented Jul 9, 2025

I tried but not got the result. Could you push your branch?

Numpsy@3736e1f
https://github.com/Numpsy/FSharpLint/actions/runs/16172643991/job/45651224510#step:6:69

@@ -1,5 +1,4 @@
#r "../_lib/Fornax.Core.dll"

#r "nuget: Fornax.Core, 0.15.1"
Copy link
Collaborator

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.

@xperiandri xperiandri changed the title Migrated Fornax to 0.15.1 Migrated Fornax to 0.16.0-beta002 Jul 10, 2025
@xperiandri xperiandri merged commit 8cff1f2 into master Jul 10, 2025
10 checks passed
xperiandri added a commit that referenced this pull request Jul 11, 2025
## [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]
@xperiandri xperiandri deleted the fornax-0.15.1 branch July 18, 2025 10:09
knocte added a commit to knocte/FSharpLint that referenced this pull request Nov 14, 2025
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
knocte added a commit that referenced this pull request Nov 14, 2025
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
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.

6 participants