Skip to content

Commit 2f4590f

Browse files
authored
Migrate to .NET 10 (#25)
* Migrate to .NET 10 * update scripts * update scripts * update scripts * update minver and bullseye * update generateapichanges * fix build warnings
1 parent b7cceb1 commit 2f4590f

File tree

13 files changed

+56
-79
lines changed

13 files changed

+56
-79
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,17 @@ jobs:
1818
build:
1919
runs-on: ubuntu-latest
2020
steps:
21-
- uses: actions/checkout@v2
21+
- uses: actions/checkout@v5
2222
with:
2323
fetch-depth: 1
2424
- run: |
2525
git fetch --prune --unshallow --tags
2626
echo exit code $?
2727
git tag --list
28-
- uses: actions/setup-dotnet@v1
28+
- uses: actions/setup-dotnet@v5
2929
with:
30-
dotnet-version: '3.1.404'
31-
- uses: actions/setup-dotnet@v1
32-
with:
33-
dotnet-version: '5.0.100'
34-
- uses: actions/setup-dotnet@v1
35-
with:
36-
dotnet-version: '6.0.302'
30+
dotnet-version: |
31+
10.0.x
3732
source-url: https://nuget.pkg.github.com/nullean/index.json
3833
env:
3934
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
@@ -51,7 +46,7 @@ jobs:
5146
if: github.event_name == 'push' && startswith(github.ref, 'refs/heads')
5247
shell: bash
5348
run: |
54-
until dotnet nuget push build/output/*.nupkg -k ${{secrets.GITHUB_TOKEN}} --skip-duplicate --no-symbols true; do echo "Retrying"; sleep 1; done;
49+
until dotnet nuget push 'build/output/*.nupkg' -k ${{secrets.GITHUB_TOKEN}} --skip-duplicate --no-symbols true; do echo "Retrying"; sleep 1; done;
5550
5651
- run: ./build.sh generatereleasenotes -s true
5752
name: Generate release notes for tag

Directory.Build.props

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<PropertyGroup>
4-
<MinVerDefaultPreReleasePhase>canary</MinVerDefaultPreReleasePhase>
4+
<MinVerDefaultPreReleaseIdentifiers>canary.0</MinVerDefaultPreReleaseIdentifiers>
5+
<MinVerMinimumMajorMinor>0.1</MinVerMinimumMajorMinor>
56
</PropertyGroup>
67
<ItemGroup>
7-
<PackageReference Include="MinVer" Version="2.3.1">
8+
<PackageReference Include="MinVer" Version="6.0.0">
89
<PrivateAssets>all</PrivateAssets>
910
</PackageReference>
1011
</ItemGroup>

build/scripts/CommandLine.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ with
2323
interface IArgParserTemplate with
2424
member this.Usage =
2525
match this with
26-
| Clean _ -> "clean known output locations"
27-
| Build _ -> "Run build and tests"
28-
| Release _ -> "runs build, and create an validates the packages shy of publishing them"
29-
| Publish _ -> "Runs the full release"
26+
| Clean -> "clean known output locations"
27+
| Build -> "Run build and tests"
28+
| Release -> "runs build, and create an validates the packages shy of publishing them"
29+
| Publish -> "Runs the full release"
3030

3131
| SingleTarget _ -> "Runs the provided sub command without running their dependencies"
3232
| Token _ -> "Token to be used to authenticate with github"

build/scripts/Paths.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ let Repository = sprintf "nullean/%s" ToolName
88

99
let Root =
1010
let mutable dir = DirectoryInfo(".")
11-
while dir.GetFiles("*.sln").Length = 0 do dir <- dir.Parent
11+
while dir.GetFiles("*.slnx").Length = 0 do dir <- dir.Parent
1212
Environment.CurrentDirectory <- dir.FullName
1313
dir
1414

build/scripts/Program.fs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ let main argv =
2626
Targets.Setup parsed arguments
2727
let swallowTypes = [typeof<ProcExecException>; typeof<ExceptionExiter>]
2828

29-
Targets.RunTargetsAndExit
30-
([target], (fun e -> swallowTypes |> List.contains (e.GetType()) ), ":")
29+
task {
30+
return! Targets.RunTargetsAndExitAsync([ target ], (fun e -> swallowTypes |> List.contains (e.GetType())), (fun _ -> ":"), null, null)
31+
} |> Async.AwaitTask |> Async.RunSynchronously
3132
0
3233

build/scripts/Targets.fs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,18 @@ open ProcNet
1010

1111

1212
let exec binary args =
13-
let r = Proc.Exec (binary, args |> List.map (fun a -> sprintf "\"%s\"" a) |> List.toArray)
14-
match r.HasValue with | true -> r.Value | false -> failwithf "invocation of `%s` timed out" binary
13+
Proc.Exec (binary, args |> List.toArray)
1514

1615
let private restoreTools = lazy(exec "dotnet" ["tool"; "restore"])
1716
let private currentVersion =
1817
lazy(
1918
restoreTools.Value |> ignore
20-
let r = Proc.Start("dotnet", "minver", "-d=canary")
19+
let r = Proc.Start("dotnet", "minver", "-p=canary.0", "-v=e", "-m=0.1")
2120
let o = r.ConsoleOut |> Seq.find (fun l -> not(l.Line.StartsWith("MinVer:")))
2221
o.Line
2322
)
23+
let private currentVersionInformational =
24+
lazy (sprintf "%s+%s" currentVersion.Value (Information.getCurrentSHA1 "."))
2425

2526
let private clean (arguments:ParseResults<Arguments>) =
2627
if (Paths.Output.Exists) then Paths.Output.Delete (true)
@@ -41,16 +42,16 @@ let private validatePackages (arguments:ParseResults<Arguments>) =
4142
let nugetPackage =
4243
let p = Paths.Output.GetFiles("*.nupkg") |> Seq.sortByDescending(fun f -> f.CreationTimeUtc) |> Seq.head
4344
Paths.RootRelative p.FullName
44-
exec "dotnet" ["nupkg-validator"; nugetPackage; "-v"; currentVersion.Value; "-a"; Paths.ToolName; "-k"; "96c599bbe3e70f5d"] |> ignore
45+
exec "dotnet" ["nupkg-validator"; nugetPackage; "-v"; currentVersionInformational.Value; "-a"; Paths.ToolName; "-k"; "96c599bbe3e70f5d"] |> ignore
4546

4647
let private generateApiChanges (arguments:ParseResults<Arguments>) =
4748
let output = Paths.RootRelative <| Paths.Output.FullName
4849
let currentVersion = currentVersion.Value
4950
let args =
5051
[
5152
"assembly-differ"
52-
(sprintf "previous-nuget|%s|%s|netcoreapp3.1" Paths.ToolName currentVersion);
53-
(sprintf "directory|src/%s/bin/Release/netcoreapp3.1" Paths.ToolName);
53+
(sprintf "previous-nuget|%s|%s|net10.0" Paths.ToolName currentVersion);
54+
(sprintf "directory|src/%s/bin/Release/net10.0" Paths.ToolName);
5455
"--target"; "release-notes"; "-f"; "github-comment"; "--output"; output
5556
]
5657

@@ -61,7 +62,7 @@ let private generateReleaseNotes (arguments:ParseResults<Arguments>) =
6162
let currentVersion = currentVersion.Value
6263
let output =
6364
Paths.RootRelative <| Path.Combine(Paths.Output.FullName, sprintf "release-notes-%s.md" currentVersion)
64-
let dotnetRun =[ "run"; "-c"; "Release"; "-f"; "net5.0"; "-p"; project]
65+
let dotnetRun =[ "run"; "-c"; "Release"; "-f"; "net10.0"; "-p"; project]
6566
let tokenArgs =
6667
match arguments.TryGetResult Token with
6768
| None -> []
@@ -80,7 +81,7 @@ let private generateReleaseNotes (arguments:ParseResults<Arguments>) =
8081
let private createReleaseOnGithub (arguments:ParseResults<Arguments>) =
8182
let project = Paths.RootRelative Paths.ToolProject.FullName
8283
let currentVersion = currentVersion.Value
83-
let dotnetRun =[ "run"; "-c"; "Release"; "-f"; "net5.0"; "-p"; project]
84+
let dotnetRun =[ "run"; "-c"; "Release"; "-f"; "net10.0"; "-p"; project]
8485
let tokenArgs =
8586
match arguments.TryGetResult Token with
8687
| None -> []

build/scripts/scripts.fsproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>netcoreapp3.1</TargetFramework>
5+
<TargetFramework>net10.0</TargetFramework>
66
<IsPackable>false</IsPackable>
77
</PropertyGroup>
88
<ItemGroup>
99
<PackageReference Include="Argu" Version="6.0.0" />
10-
<PackageReference Include="Bullseye" Version="3.3.0" />
11-
<PackageReference Include="Proc" Version="0.6.2" />
10+
<PackageReference Include="Bullseye" Version="6.0.0" />
11+
<PackageReference Include="Proc" Version="0.9.1" />
1212
<PackageReference Include="Fake.Tools.Git" Version="5.15.0" />
1313
</ItemGroup>
1414

dotnet-tools.json

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,25 @@
33
"isRoot": true,
44
"tools": {
55
"minver-cli": {
6-
"version": "2.3.1",
6+
"version": "6.0.0",
77
"commands": [
88
"minver"
9-
]
9+
],
10+
"rollForward": false
1011
},
1112
"nupkg-validator": {
12-
"version": "0.5.0",
13+
"version": "0.10.0",
1314
"commands": [
1415
"nupkg-validator"
15-
]
16+
],
17+
"rollForward": false
1618
},
1719
"assembly-differ": {
18-
"version": "0.11.1",
20+
"version": "0.16.0",
1921
"commands": [
2022
"assembly-differ"
21-
]
23+
],
24+
"rollForward": false
2225
}
2326
}
2427
}

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"sdk": {
3-
"version": "6.0.302",
3+
"version": "10.0.100",
44
"rollForward": "latestFeature",
55
"allowPrerelease": false
66
}

release-notes.sln

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)