Skip to content

Commit 7e58473

Browse files
committed
Merge branch 'master' into release/v2
2 parents 698604d + 2f8fdee commit 7e58473

28 files changed

Lines changed: 309 additions & 605 deletions

.config/dotnet-tools.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,25 @@
33
"isRoot": true,
44
"tools": {
55
"dotnet-reportgenerator-globaltool": {
6-
"version": "5.2.0",
6+
"version": "5.5.1",
77
"commands": [
88
"reportgenerator"
9-
]
9+
],
10+
"rollForward": false
1011
},
1112
"dotnet-fsharplint": {
12-
"version": "0.23.6",
13+
"version": "0.26.10",
1314
"commands": [
1415
"dotnet-fsharplint"
15-
]
16+
],
17+
"rollForward": false
1618
},
1719
"coveralls.net": {
1820
"version": "4.0.1",
1921
"commands": [
2022
"csmacnz.Coveralls"
21-
]
23+
],
24+
"rollForward": false
2225
}
2326
}
2427
}

.github/workflows/main.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ jobs:
1414
windows:
1515
runs-on: windows-latest
1616
steps:
17-
- uses: actions/checkout@v4
17+
- uses: actions/checkout@v6.0.2
1818
with:
1919
fetch-depth: 2
20-
- uses: actions/setup-dotnet@v4
20+
- uses: actions/setup-dotnet@v5
2121
with:
22-
dotnet-version: '8.0.100'
22+
global-json-file: global.json
2323
- name: Tools
2424
run: dotnet tool restore
2525
- name: Setup
@@ -29,17 +29,19 @@ jobs:
2929
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
3030
NUGET_API_TOKEN: ${{ secrets.NUGET_API_TOKEN }}
3131
run: dotnet run --project ./Build/Build.fsproj
32-
- uses: actions/upload-artifact@v4
32+
- uses: actions/upload-artifact@v6
3333
with:
3434
name: nupkgs
3535
path: _Packagin*/*.nupkg
3636
linux:
3737
runs-on: ubuntu-latest
3838
steps:
39-
- uses: actions/checkout@v4
40-
- uses: actions/setup-dotnet@v4
39+
- uses: actions/checkout@v6.0.2
4140
with:
42-
dotnet-version: '7.0.400'
41+
fetch-depth: 2
42+
- uses: actions/setup-dotnet@v5
43+
with:
44+
global-json-file: global.json
4345
- name: Tools
4446
run: dotnet tool restore
4547
- name: Setup

Build/Build.fsproj

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,9 @@
1717
<PackageReference Include="Fake.Core.Process" />
1818
<PackageReference Include="Fake.DotNet.AssemblyInfoFile" />
1919
<PackageReference Include="Fake.DotNet.Cli" />
20-
<PackageReference Include="Fake.DotNet.FxCop" />
2120
<PackageReference Include="Fake.DotNet.MSBuild" />
2221
<PackageReference Include="Fake.DotNet.NuGet" />
2322
<PackageReference Include="Fake.DotNet.Testing.NUnit" />
24-
<PackageReference Include="Fake.DotNet.Testing.OpenCover" />
2523
<PackageReference Include="Fake.DotNet.Testing.XUnit2" />
2624
<PackageReference Include="Fake.IO.FileSystem" />
2725
<PackageReference Include="Fake.Tools.Git" />
@@ -31,5 +29,4 @@
3129
<PackageReference Include="Markdig" />
3230
<PackageReference Include="NUnit" />
3331
</ItemGroup>
34-
35-
</Project>
32+
</Project>

Build/Directory.Build.props

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
<PropertyGroup>
33
<AltCodeTag>$</AltCodeTag>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net7.0</TargetFramework>
5+
<TargetFramework>net10.0</TargetFramework>
6+
<AllowMissingPrunePackageData>true</AllowMissingPrunePackageData>
67
</PropertyGroup>
78
<Import Project="$(MSBuildThisFileDirectory)\..\Directory.Build.props" />
89
</Project>

Build/actions.fs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ module Actions =
1515
let Clean () =
1616
let rec clean1 depth =
1717
try
18-
(DirectoryInfo ".")
19-
.GetDirectories("*", SearchOption.AllDirectories)
18+
(DirectoryInfo ".").GetDirectories("*", SearchOption.AllDirectories)
2019
|> Seq.filter (fun x ->
2120
x.Name.StartsWith "_"
2221
|| x.Name = "bin"
@@ -209,6 +208,9 @@ do ()"""
209208
CreateProcess.fromRawCommand file args
210209
|> CreateProcess.withWorkingDirectory dir
211210
|> CreateProcess.withFramework
211+
|> CreateProcess.withEnvironment
212+
[ ("DOTNET_ROLL_FORWARD", "Major")
213+
("DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX", "2") ]
212214
|> Proc.run
213215
|> (AssertResult msg)
214216

Build/targets.fs

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ module Targets =
1212
open Fake.Core
1313
open Fake.Core.TargetOperators
1414
open Fake.DotNet
15-
open Fake.DotNet.NuGet.NuGet
1615
open Fake.IO
1716
open Fake.IO.FileSystemOperators
1817
open Fake.IO.Globbing.Operators
@@ -49,6 +48,14 @@ module Targets =
4948
| Some f -> { o with DotNetCliPath = f }
5049
| None -> o
5150

51+
let dotnetOptionsWithRollForwards (o: DotNet.Options) =
52+
let env =
53+
o.Environment
54+
.Add("DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX", "2")
55+
.Add("DOTNET_ROLL_FORWARD", "Major")
56+
57+
o.WithEnvironment env
58+
5259
let nugetCache =
5360
Path.Combine(
5461
Environment.GetFolderPath Environment.SpecialFolder.UserProfile,
@@ -195,9 +202,7 @@ module Targets =
195202
+ commitHash
196203
+ Environment.NewLine
197204
+ Environment.NewLine
198-
+ w
199-
.ToString()
200-
.Replace("\u204B", Environment.NewLine)
205+
+ w.ToString().Replace("\u204B", Environment.NewLine)
201206

202207
printfn "release notes are %A characters" releaseNotes.Length
203208
Assert.That(releaseNotes.Length, Is.LessThan 35000)
@@ -350,15 +355,15 @@ module Targets =
350355
let BuildRelease =
351356
(fun _ ->
352357
try
353-
"./altcode.test/altcode.test.sln"
358+
"./altcode.test/altcode.test.slnx"
354359
|> dotnetBuildRelease
355360
with x ->
356361
printfn "%A" x
357362
reraise ())
358363

359364
let BuildDebug =
360365
(fun _ ->
361-
"./altcode.test/altcode.test.sln"
366+
"./altcode.test/altcode.test.slnx"
362367
|> dotnetBuildDebug)
363368

364369
let Validation =
@@ -368,7 +373,7 @@ module Targets =
368373
{ p.WithCommon dotnetOptions with
369374
MSBuildParams = cliArguments
370375
Configuration = DotNet.BuildConfiguration.Debug
371-
Framework = Some "net7.0"
376+
Framework = Some "net10.0"
372377
NoBuild = true })
373378
"./altcode.test/validation")
374379

@@ -403,7 +408,8 @@ module Targets =
403408
AltCover.PrepareOptions.Primitive(
404409
{ Primitive.PrepareOptions.Create() with
405410
Report = altReport
406-
SingleVisit = true }
411+
All = false
412+
}
407413
|> AltCoverFilter
408414
)
409415

@@ -419,6 +425,7 @@ module Targets =
419425
(fun to' ->
420426
{ to'.WithCommon(setBaseOptions) with
421427
MSBuildParams = cliArguments
428+
Framework = Some "net10.0"
422429
NoBuild = true }
423430
.WithAltCoverOptions
424431
prepare
@@ -427,7 +434,7 @@ module Targets =
427434
test
428435
with x ->
429436
printfn "%A" x
430-
// reraise()) // while fixing
437+
reraise () // argue either way
431438

432439
altReport :: l)
433440
[]
@@ -489,7 +496,11 @@ module Targets =
489496
|> (fun u ->
490497
u |> (printfn "%A uncovered lines")
491498
// printfn "%A" (u.GetType().FullName)
492-
Assert.That(u, Is.EqualTo [ 0 ], "All lines should be covered")))
499+
Assert.That<int list>(
500+
u,
501+
Is.EqualTo<int list> [ 0 ],
502+
"All lines should be covered"
503+
)))
493504

494505
// Code Analysis
495506

@@ -513,9 +524,8 @@ module Targets =
513524
let failOnIssuesFound (issuesFound: bool) =
514525
Assert.That(issuesFound, Is.False, "Lint issues were found")
515526

516-
[ !! "./**/*.fsproj"
517-
|> Seq.sortBy (Path.GetFileName)
518-
!! "./Build/*.fsx" |> Seq.map Path.GetFullPath ]
527+
[ !!"./**/*.fsproj" |> Seq.sortBy (Path.GetFileName)
528+
!!"./Build/*.fsx" |> Seq.map Path.GetFullPath ]
519529
|> Seq.concat
520530
|> Seq.map doLintAsync
521531
|> throttle
@@ -544,10 +554,7 @@ module Targets =
544554
Directory.ensure "./_Binaries"
545555

546556
Actions.PrepareReadMe(
547-
(Copyright)
548-
.Replace("©", "&#xa9;")
549-
.Replace("<", "&lt;")
550-
.Replace(">", "&gt;")
557+
(Copyright).Replace("©", "&#xa9;").Replace("<", "&lt;").Replace(">", "&gt;")
551558
))
552559

553560
//let Deployment ignore
@@ -563,7 +570,7 @@ module Targets =
563570
|> String.IsNullOrWhiteSpace
564571
|> not
565572
then
566-
(!! "./_Packagin*/*.nupkg")
573+
(!!"./_Packagin*/*.nupkg")
567574
|> Seq.iter (fun f ->
568575
printfn "Publishing %A from %A" f currentBranch
569576

Directory.Build.targets

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
<Project>
22
<Import Project="$(MSBuildThisFileDirectory)\OutputBuildTargets.props" />
3+
<PropertyGroup>
4+
<!-- Suppress security warnings about Fake.Build packages -->
5+
<NoWarn>$(NoWarn);NU1904;NU1903</NoWarn>
6+
</PropertyGroup>
37
</Project>

Directory.Packages.props

Lines changed: 23 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,30 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup>
4-
<PackageVersion Include="AltCode.Dixon" Version="2022.1.8.13182" />
5-
<PackageVersion Include="altcode.gendarme" Version="2022.12.6.7345" />
6-
<PackageVersion Include="altcover" Version="8.6.125" />
7-
<PackageVersion Include="AltCover.Api" Version="8.6.68" />
8-
<PackageVersion Include="AltCover.Fake" Version="8.6.125" />
4+
<PackageVersion Include="altcover" Version="9.0.1" />
5+
<PackageVersion Include="AltCover.Fake" Version="9.0.102" />
6+
<PackageVersion Include="Expecto" Version="10.2.3" />
97
<PackageVersion Include="BlackFox.CommandLine" Version="1.0.0" />
108
<PackageVersion Include="BlackFox.VsWhere" Version="1.1.0" />
11-
<PackageVersion Include="CommunityToolkit.Diagnostics" Version="8.0.0" />
12-
<PackageVersion Include="coverlet.collector" Version="3.2.0" />
13-
<PackageVersion Include="CsvTextFieldParser" Version="1.2.2-preview" />
14-
<PackageVersion Include="DotNet.ReproducibleBuilds" Version="1.1.1" />
15-
<PackageVersion Include="Expecto" Version="10.1.0" />
16-
<PackageVersion Include="Expecto.FsCheck" Version="9.0.4" />
17-
<PackageVersion Include="Expecto.TestResults" Version="8.13.2" />
18-
<PackageVersion Include="FAKE.Core.Environment" Version="6.0.0" />
19-
<PackageVersion Include="FAKE.Core.Process" Version="6.0.0" />
20-
<PackageVersion Include="FAKE.Core.Target" Version="6.0.0" />
21-
<PackageVersion Include="FAKE.Core.Trace" Version="5.23.1" />
22-
<PackageVersion Include="FAKE.DotNet.AssemblyInfoFile" Version="6.0.0" />
23-
<PackageVersion Include="FAKE.DotNet.Cli" Version="6.0.0" />
24-
<PackageVersion Include="FAKE.DotNet.FxCop" Version="6.0.0" />
25-
<PackageVersion Include="FAKE.DotNet.MSBuild" Version="6.0.0" />
26-
<PackageVersion Include="FAKE.DotNet.Nuget" Version="6.0.0" />
27-
<PackageVersion Include="FAKE.DotNet.Testing.NUnit" Version="6.0.0" />
28-
<PackageVersion Include="FAKE.DotNet.Testing.OpenCover" Version="6.0.0" />
29-
<PackageVersion Include="FAKE.DotNet.Testing.XUnit2" Version="6.0.0" />
30-
<PackageVersion Include="FAKE.IO.FileSystem" Version="6.0.0" />
31-
<PackageVersion Include="FAKE.Tools.Git" Version="6.0.0" />
32-
<PackageVersion Include="FAKE.Testing.ReportGenerator" Version="6.0.0" />
33-
<PackageVersion Include="FsCheck" Version="2.16.5" />
34-
<PackageVersion Include="FSharp.Core" Version="8.0.100" />
35-
<PackageVersion Include="FsUnit" Version="5.1.0" />
36-
<!-- PackageVersion Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" / -->
37-
<PackageVersion Include="Markdig" Version="0.34.0" />
38-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
39-
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />
40-
<PackageVersion Include="Microsoft.TestPlatform.ObjectModel" Version="16.0.0" />
41-
<PackageVersion Include="Mono.Cecil" Version="0.11.4" />
42-
<PackageVersion Include="Mono.Options" Version="6.12.0.148" />
43-
<PackageVersion Include="MSTest.TestFramework" Version="2.2.10" />
44-
<PackageVersion Include="MSTest.TestAdapter" Version="2.2.10" />
45-
<PackageVersion Include="Newtonsoft.Json" Version="13.0.1" />
46-
<PackageVersion Include="NuGet.CommandLine" Version="6.8.0" />
47-
<PackageVersion Include="NUnit" Version="4.0.1" />
48-
<PackageVersion Include="NUnit3TestAdapter" Version="4.5.0" />
49-
<!-- This one w/just net20/net40 agents works as before on Linux for the AltCoverRunner test -->
50-
<PackageVersion Include="NUnit.ConsoleRunner" Condition="'$(OS)' != 'Windows_NT'" Version="3.12.0" />
51-
<!-- This one w/extra netcore3.1 agent causes mono vs framework problems for some reason on the AltCoverRunner test -->
52-
<PackageVersion Include="NUnit.ConsoleRunner" Condition="'$(OS)' == 'Windows_NT'" Version="3.16.0" />
53-
<PackageVersion Include="OpenCover" Version="4.7.1221" />
54-
<PackageVersion Include="Pester" Version="5.3.3" />
55-
<PackageVersion Include="PowerShellStandard.Library" Version="5.1.1" />
56-
<PackageVersion Include="System.Collections.Immutable" Version="5.0.0" />
57-
<PackageVersion Include="System.IO.Compression" Version="4.3.0" />
58-
<PackageVersion Include="System.Reactive.Core" Version="5.0.0" />
59-
<PackageVersion Include="System.Security.Permissions" Version="7.0.0" />
60-
<PackageVersion Include="Unquote" Version="6.1.0" />
61-
<PackageVersion Include="XmlDoc2CmdletDoc" Version="0.4.0-dotnetcore0001" />
62-
<PackageVersion Include="xunit" Version="2.4.2" />
63-
<PackageVersion Include="xunit.abstractions" Version="2.0.3" />
64-
<PackageVersion Include="xunit.analyzers" Version="1.0.0" />
65-
<PackageVersion Include="xunit.assert" Version="2.6.5" />
66-
<PackageVersion Include="xunit.core" Version="2.4.2" />
67-
<PackageVersion Include="xunit.extensibility.core" Version="2.4.2" />
68-
<PackageVersion Include="xunit.extensibility.execution" Version="2.4.2" />
69-
<PackageVersion Include="xunit.runner.console" Version="2.4.2" />
70-
<PackageVersion Include="xunit.runner.visualstudio" Version="2.4.5" />
71-
<PackageVersion Include="YamlDotNet" Version="12.0.2" />
72-
<PackageVersion Include="YoloDev.Expecto.TestSdk" Version="1.0.0" />
9+
<PackageVersion Include="DotNet.ReproducibleBuilds" Version="2.0.2" />
10+
<PackageVersion Include="Fake.Core.Environment" Version="6.1.4" />
11+
<PackageVersion Include="Fake.Core.Process" Version="6.1.4" />
12+
<PackageVersion Include="Fake.Core.Target" Version="6.1.4" />
13+
<PackageVersion Include="Fake.DotNet.AssemblyInfoFile" Version="6.1.4" />
14+
<PackageVersion Include="Fake.DotNet.Cli" Version="6.1.4" />
15+
<PackageVersion Include="Fake.DotNet.MSBuild" Version="6.1.4" />
16+
<PackageVersion Include="Fake.DotNet.Nuget" Version="6.1.4" />
17+
<PackageVersion Include="Fake.DotNet.Testing.NUnit" Version="6.1.4" />
18+
<PackageVersion Include="Fake.DotNet.Testing.XUnit2" Version="6.1.4" />
19+
<PackageVersion Include="Fake.IO.FileSystem" Version="6.1.4" />
20+
<PackageVersion Include="Fake.Testing.ReportGenerator" Version="6.1.4" />
21+
<PackageVersion Include="Fake.Tools.Git" Version="6.1.4" />
22+
<PackageVersion Include="FSharp.Core" Version="9.0.303" />
23+
<PackageVersion Include="Markdig" Version="0.45.0" />
24+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
25+
<PackageVersion Include="NUnit" Version="4.4.0" />
26+
<PackageVersion Include="NUnit3TestAdapter" Version="5.2.0" />
27+
<PackageVersion Include="NuGet.CommandLine" Version="6.14.0" />
28+
<PackageVersion Include="xunit.assert" Version="2.9.3" />
7329
</ItemGroup>
7430
</Project>

0 commit comments

Comments
 (0)