CI(docs): run for every commit (not just tags)#636
Merged
Conversation
This way it will get run for every commit (except the deploy step); which will let us notice much earlier when it breaks (not just when creating a git tag, like it has happened[1] for the last version that we published). [1] See 815efa4 for more info.
We're eyeing to update to a newer version of .NET soon, and we don't want to get the README file to point to a wrong badge or CI link because of that, so it's better to not mention the .NET version we're using in the workflow name (this way there's also less lines to update everytime we update the version; and less duplication thanks to the new CI variable '$DOTNET_VERSION').
The recent update[1] to Fornax caused NullReferenceExceptions in the
log (even though CI doesn't break) so we suspect this version might
have some kind of problem. Let's update to the last version (and for
this we've had to update the .NET version of this job, otherwise
the last version of Fornax cannot run with v5.0).
But note that after updating to this version, we've had to do some
other changes related to the .NET upgrade (to v6):
The Directory.Build.props change is to fix this restore error:
```
Run dotnet restore
dotnet restore
shell: C:\Program Files\PowerShell\7\pwsh.EXE -command ". '{0}'"
env:
DOTNET_VERSION: 5.0.202
DOTNET_ROOT: C:\Program Files\dotnet
Determining projects to restore...
Error: C:\Program Files\dotnet\sdk\6.0.417\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets(29,5): error NETSDK1138: The target framework 'net5.0' is
out of support and will not receive security updates in the future. Please refer to https://aka.ms/dotnet-core-support for more information about the support policy.
[D:\a\FSharpLint\FSharpLint\tests\FSharpLint.FunctionalTest\FSharpLint.FunctionalTest.fsproj]
Error: C:\Program Files\dotnet\sdk\6.0.417\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets(29,5): error NETSDK1138: The target framework 'net5.0' is
out of support and will not receive security updates in the future. Please refer to https://aka.ms/dotnet-core-support for more information about the support policy.
[D:\a\FSharpLint\FSharpLint\src\FSharpLint.Core\FSharpLint.Core.fsproj]
Error: C:\Program Files\dotnet\sdk\6.0.417\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets(29,5): error NETSDK1138: The target framework 'net5.0' is
out of support and will not receive security updates in the future. Please refer to https://aka.ms/dotnet-core-support for more information about the support policy.
[D:\a\FSharpLint\FSharpLint\tests\FSharpLint.Core.Tests\FSharpLint.Core.Tests.fsproj]
Error: C:\Program Files\dotnet\sdk\6.0.417\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets(29,5): error NETSDK1138: The target framework 'net5.0' is
out of support and will not receive security updates in the future. Please refer to https://aka.ms/dotnet-core-support for more information about the support policy.
[D:\a\FSharpLint\FSharpLint\tests\FSharpLint.Console.Tests\FSharpLint.Console.Tests.fsproj]
Error: C:\Program Files\dotnet\sdk\6.0.417\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets(29,5): error NETSDK1138: The target framework 'net5.0' is
out of support and will not receive security updates in the future. Please refer to https://aka.ms/dotnet-core-support for more information about the support policy.
[D:\a\FSharpLint\FSharpLint\tests\FSharpLint.Benchmarks\FSharpLint.Benchmarks.fsproj]
Error: C:\Program Files\dotnet\sdk\6.0.417\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets(29,5): error NETSDK1138: The target framework 'net5.0' is
out of support and will not receive security updates in the future. Please refer to https://aka.ms/dotnet-core-support for more information about the support policy.
[D:\a\FSharpLint\FSharpLint\src\FSharpLint.Console\FSharpLint.Console.fsproj]
Restored D:\a\FSharpLint\FSharpLint\src\FSharpLint.Console\FSharpLint.Console.fsproj (in 6.28 sec).
Restored D:\a\FSharpLint\FSharpLint\src\FSharpLint.Core\FSharpLint.Core.fsproj (in 6.28 sec).
Restored D:\a\FSharpLint\FSharpLint\tests\FSharpLint.Console.Tests\FSharpLint.Console.Tests.fsproj (in 6.28 sec).
Restored D:\a\FSharpLint\FSharpLint\tests\FSharpLint.FunctionalTest\FSharpLint.FunctionalTest.fsproj (in 6.28 sec).
Restored D:\a\FSharpLint\FSharpLint\tests\FSharpLint.Benchmarks\FSharpLint.Benchmarks.fsproj (in 3 ms).
Restored D:\a\FSharpLint\FSharpLint\tests\FSharpLint.Core.Tests\FSharpLint.Core.Tests.fsproj (in 3 ms).
Error: Process completed with exit code 1.
```
And the .fs changes are to build these .NET6.0 compilation errors:
```
Error: D:\a\FSharpLint\FSharpLint\src\FSharpLint.Core\Rules\Conventions\RaiseWithTooManyArguments\FailwithBadUsage.fs(122,11): error FS0026: This rule will never be matched
[D:\a\FSharpLint\FSharpLint\src\FSharpLint.Core\FSharpLint.Core.fsproj]
Build FAILED.
Error: D:\a\FSharpLint\FSharpLint\src\FSharpLint.Core\Rules\Conventions\RaiseWithTooManyArguments\FailwithBadUsage.fs(122,11): error FS0026: This rule will never be matched
[D:\a\FSharpLint\FSharpLint\src\FSharpLint.Core\FSharpLint.Core.fsproj]
0 Warning(s)
1 Error(s)
Error: D:\a\FSharpLint\FSharpLint\tests\FSharpLint.Core.Tests\Rules\Conventions\CyclomaticComplexity.fs(232,3): error FS0058: Possible incorrect indentation: this token is
offside of context started at position (229:9). Try indenting this token further or using standard formatting conventions.
[D:\a\FSharpLint\FSharpLint\tests\FSharpLint.Core.Tests\FSharpLint.Core.Tests.fsproj]
Error: D:\a\FSharpLint\FSharpLint\tests\FSharpLint.Core.Tests\Rules\Conventions\CyclomaticComplexity.fs(232,3): error FS0058: Possible incorrect indentation: this token is
offside of context started at position (229:9). Try indenting this token further or using standard formatting conventions.
[D:\a\FSharpLint\FSharpLint\tests\FSharpLint.Core.Tests\FSharpLint.Core.Tests.fsproj]
0 Warning(s)
2 Error(s)
```
[1] b4da0c8
This was referenced Dec 16, 2023
The latest version of Fornax is also throwing exceptions, albeit different than the previously reported ones (so we go back to the old version, having to install old .NETCore3.x for now): ``` System.TypeLoadException: Could not load type 'FSharp.Compiler.SourceCodeServices.FSharpAssembly' from assembly 'FSharp.Compiler.Service, Version=41.0.7.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. at FSharp.MetadataFormat.MetadataFormat.Generate(IEnumerable`1 dllFiles, FSharpOption`1 parameters, FSharpOption`1 xmlFile, FSharpOption`1 sourceRepo, FSharpOption`1 sourceFolder, FSharpOption`1 publicOnly, FSharpOption`1 libDirs, FSharpOption`1 otherFlags, FSharpOption`1 markDownComments, FSharpOption`1 urlRangeHighlight) at FSharp.MetadataFormat.MetadataFormat.Generate(String dllFile, FSharpOption`1 parameters, FSharpOption`1 xmlFile, FSharpOption`1 sourceRepo, FSharpOption`1 sourceFolder, FSharpOption`1 publicOnly, FSharpOption`1 libDirs, FSharpOption`1 otherFlags, FSharpOption`1 markDownComments, FSharpOption`1 urlRangeHighlight) in /app/src/FSharp.MetadataFormat/Main.fs:line 1506 at FSI_0004.Apirefloader.loader(String projectRoot, SiteContents siteContet) in D:\a\FSharpLint\FSharpLint\docs\loaders\apirefloader.fsx:line 41 [12:16:29] multiple files generated in 570ms [12:16:29] 'D:\a\FSharpLint\FSharpLint\docs\_public\index.json' generated in 222ms ERROR IN PAGE GENERATION: System.NullReferenceException: Object reference not set to an instance of an object. at FSI_0025.Menu.menu(SiteContents ctx, String page) in D:\a\FSharpLint\FSharpLint\docs\generators\partials\menu.fsx:line 13 at FSI_0025.Layout.layout(SiteContents ctx, IEnumerable`1 bodyCnt, String page) in D:\a\FSharpLint\FSharpLint\docs\generators\partials\layout.fsx:line 39 at FSI_0025.Page.generate'(SiteContents ctx, String page) in D:\a\FSharpLint\FSharpLint\docs\generators\page.fsx:line 12 at FSI_0025.Page.generate(SiteContents ctx, String projectRoot, String page) in D:\a\FSharpLint\FSharpLint\docs\generators\page.fsx:line 16 [12:16:29] 'D:\a\FSharpLint\FSharpLint\docs\_public\index.html' generated in 318ms ... ```
379ed99 to
e2ac47d
Compare
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.
Supersedes #626