Skip to content

ci: fix analyzers CI#4396

Closed
MangelMaxime wants to merge 1 commit intomainfrom
fix-analyzers-ci
Closed

ci: fix analyzers CI#4396
MangelMaxime wants to merge 1 commit intomainfrom
fix-analyzers-ci

Conversation

@MangelMaxime
Copy link
Member

Trying to replace #4394

@MangelMaxime
Copy link
Member Author

Ok this PR fixed some of the analyers.

But we are still getting this warning:

MSBuild version 18.0.7+445250245 for .NET
[15:28:44.124] [FSharp.Analyzers.Cli] error: Trying to load /home/runner/.nuget/packages/ionide.analyzers/0.14.11/analyzers/dotnet/fs/Ionide.Analyzers.dll which was built using SDK version 0.35.0.0. Expect 0.36.0.0 instead. Assembly will be skipped.
[15:28:48.487] [FSharp.Analyzers.Cli] error: Because we failed to load some assemblies to obtain analyzers from them, exiting (failure count: 1)

This is because Ionide.Analyzers needs to make a new release for the latest Analyzers SDK I will send a PR/issue their.

@dbrattli
Copy link
Collaborator

@claude review

@claude
Copy link

claude bot commented Mar 14, 2026

Claude finished @dbrattli's task in 47s —— View job


Code Review

  • Gather context
  • Read changed files
  • Provide review feedback

Summary

The PR replaces hardcoded dotnet-version: "10.0.x" with global-json-file: global.json across all 11 actions/setup-dotnet@v5 steps in .github/workflows/build.yml.

Changes Look Correct

The fix is sound. Using global-json-file: global.json is the better approach because:

  • The global.json currently specifies "version": "10.0.100" with "rollForward": "latestMajor", so the installed SDK version is sourced from a single, authoritative file.
  • This prevents version drift between CI and local development — developers and CI will use the same SDK.
  • Avoiding a hardcoded 10.0.x wildcard in the workflow means that when global.json is updated (e.g. for a new SDK release), CI automatically picks it up without needing a separate workflow change.

Remaining Known Issue

As noted in the PR comments, there is still an unresolved analyzer error:

error: Trying to load Ionide.Analyzers.dll which was built using SDK version 0.35.0.0. Expect 0.36.0.0 instead.
error: Because we failed to load some assemblies to obtain analyzers from them, exiting (failure count: 1)

This is external to this PR — it requires an upstream Ionide.Analyzers release to support the newer Analyzers SDK version. The continue-on-error: true on the analyzer step (.github/workflows/build.yml:275) means this won't block CI, but the SARIF upload step may produce incomplete results until Ionide releases a compatible version.

Minor Note

The change is applied uniformly to all 11 job steps, which is consistent. No issues found with the approach.

Verdict: The PR is correct and an improvement. Approve once the Ionide upstream issue is resolved (or accepted as a known limitation tracked separately).

@MangelMaxime
Copy link
Member Author

Closing as the changes from this PR has been included in the citing PR.

And we confirmed that Claude can be called

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.

2 participants