Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,25 @@
"isRoot": true,
"tools": {
"paket": {
"version": "8.0.3",
"version": "10.3.1",
"commands": [
"paket"
]
],
"rollForward": false
},
"fsdocs-tool": {
"version": "20.0.1",
"version": "21.0.0",
"commands": [
"fsdocs"
]
],
"rollForward": false
},
"fantomas": {
"version": "7.0.3",
"version": "7.0.5",
"commands": [
"fantomas"
]
],
"rollForward": false
}
}
}
14 changes: 7 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Build

on:
push:
branches: [ 'master' ]
branches: ["master"]
# paths-ignore: [ 'docs/**' ]

permissions: write-all
Expand All @@ -12,7 +12,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
dotnet: [8.0.x]
dotnet: [10.0.x]
runs-on: ${{ matrix.os }}
outputs:
build_version: ${{ steps.set_version.outputs.version }}
Expand All @@ -33,9 +33,9 @@ jobs:
echo "version=$BUILD_VERSION" >> "$GITHUB_OUTPUT"

- name: Setup .NET
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.x.x"
dotnet-version: ${{ matrix.dotnet }}
cache: true
cache-dependency-path: paket.lock

Expand All @@ -46,7 +46,7 @@ jobs:
run: dotnet fsi build.fsx

- name: Upload artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: Packages-${{ matrix.os }}
path: nupkgs/
Expand Down Expand Up @@ -93,9 +93,9 @@ jobs:
path: nupkgs/

- name: Setup .NET
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.x.x"
dotnet-version: "10.x.x"

- name: Push packages to NuGet.org
run: dotnet nuget push "nupkgs/*.nupkg" --api-key ${{ secrets.NUGET_TOKEN }} --source https://www.nuget.org --skip-duplicate
Expand Down
28 changes: 14 additions & 14 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,21 @@ jobs:
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Checkout sources
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: "8.x.x"
cache: true
cache-dependency-path: paket.lock
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.x.x"
cache: true
cache-dependency-path: paket.lock

- name: Restore tools
run: dotnet tool restore
- name: Restore tools
run: dotnet tool restore

- name: Restore
run: dotnet restore ${{env.SLN_FILE}}
- name: Restore
run: dotnet paket restore

- name: Build
run: dotnet fsi build.fsx
- name: Build
run: dotnet fsi build.fsx
22 changes: 18 additions & 4 deletions .paket/Paket.Restore.targets
Original file line number Diff line number Diff line change
Expand Up @@ -235,23 +235,27 @@
<Splits>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',').Length)</Splits>
<PackageName>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0])</PackageName>
<PackageVersion>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1])</PackageVersion>
<Reference>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[2])</Reference>
<AllPrivateAssets>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[4])</AllPrivateAssets>
<CopyLocal Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 6">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[5])</CopyLocal>
<OmitContent Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 7">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[6])</OmitContent>
<ImportTargets Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 8">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[7])</ImportTargets>
<Aliases Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 9">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[8])</Aliases>
<ReferenceCondition Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 10">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[9])</ReferenceCondition>
</PaketReferencesFileLinesInfo>
<PackageReference Include="%(PaketReferencesFileLinesInfo.PackageName)">
<Version>%(PaketReferencesFileLinesInfo.PackageVersion)</Version>
<PackageReference Condition=" ('$(ManagePackageVersionsCentrally)' != 'true' Or '%(PaketReferencesFileLinesInfo.Reference)' == 'Direct') AND ('%(PaketReferencesFileLinesInfo.ReferenceCondition)' == 'true' Or $(%(PaketReferencesFileLinesInfo.ReferenceCondition)) == 'true')" Include="%(PaketReferencesFileLinesInfo.PackageName)">
<Version Condition=" '$(ManagePackageVersionsCentrally)' != 'true' ">%(PaketReferencesFileLinesInfo.PackageVersion)</Version>
<PrivateAssets Condition=" ('%(PaketReferencesFileLinesInfo.AllPrivateAssets)' == 'true') Or ('$(PackAsTool)' == 'true') ">All</PrivateAssets>
<ExcludeAssets Condition=" %(PaketReferencesFileLinesInfo.CopyLocal) == 'false' or %(PaketReferencesFileLinesInfo.AllPrivateAssets) == 'exclude'">runtime</ExcludeAssets>
<ExcludeAssets Condition=" %(PaketReferencesFileLinesInfo.OmitContent) == 'true'">$(ExcludeAssets);contentFiles</ExcludeAssets>
<ExcludeAssets Condition=" %(PaketReferencesFileLinesInfo.ImportTargets) == 'false'">$(ExcludeAssets);build;buildMultitargeting;buildTransitive</ExcludeAssets>
<Aliases Condition=" %(PaketReferencesFileLinesInfo.Aliases) != ''">%(PaketReferencesFileLinesInfo.Aliases)</Aliases>
<Publish Condition=" '$(PackAsTool)' == 'true' ">true</Publish>
<AllowExplicitVersion>true</AllowExplicitVersion>

</PackageReference>
<PackageVersion Condition="('$(ManagePackageVersionsCentrally)' != 'true' Or '%(PaketReferencesFileLinesInfo.Reference)' == 'Direct') AND ('%(PaketReferencesFileLinesInfo.ReferenceCondition)' == 'true' Or $(%(PaketReferencesFileLinesInfo.ReferenceCondition)) == 'true')" Include="%(PaketReferencesFileLinesInfo.PackageName)">
<Version>%(PaketReferencesFileLinesInfo.PackageVersion)</Version>
</PackageVersion>
</ItemGroup>

<PropertyGroup>
Expand Down Expand Up @@ -314,7 +318,17 @@
</ItemGroup>

<Error Text="Error Because of PAKET_ERROR_ON_MSBUILD_EXEC (not calling fix-nuspecs)" Condition=" '$(PAKET_ERROR_ON_MSBUILD_EXEC)' == 'true' " />
<Exec Condition="@(_NuspecFiles) != ''" Command='$(PaketCommand) fix-nuspecs files "@(_NuspecFiles)" project-file "$(PaketProjectFile)" ' />
<Exec Condition="@(_NuspecFiles) != ''" Command='$(PaketCommand) show-conditions -s' ConsoleToMSBuild="true" StandardOutputImportance="low">
<Output TaskParameter="ConsoleOutput" ItemName="_ConditionProperties"/>
</Exec>
<ItemGroup>
<_DefinedConditionProperties Include="@(_ConditionProperties)" Condition="$(%(Identity)) == 'true'"/>
</ItemGroup>
<PropertyGroup>
<_ConditionsParameter></_ConditionsParameter>
<_ConditionsParameter Condition="@(_DefinedConditionProperties) != ''">--conditions @(_DefinedConditionProperties)</_ConditionsParameter>
</PropertyGroup>
<Exec Condition="@(_NuspecFiles) != ''" Command='$(PaketCommand) fix-nuspecs files "@(_NuspecFiles)" project-file "$(PaketProjectFile)" $(_ConditionsParameter)' />
<Error Condition="@(_NuspecFiles) == ''" Text='Could not find nuspec files in "$(AdjustedNuspecOutputPath)" (Version: "$(PackageVersion)"), therefore we cannot call "paket fix-nuspecs" and have to error out!' />

<ConvertToAbsolutePath Condition="@(_NuspecFiles) != ''" Paths="@(_NuspecFiles)">
Expand Down
24 changes: 9 additions & 15 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ open System.IO
open Fun.Build

let (</>) a b = Path.Combine(a, b)
let sln = __SOURCE_DIRECTORY__ </> "AsyncWriterResult.sln"
let config = "Release"
let nupkgs = __SOURCE_DIRECTORY__ </> "nupkgs"

Expand All @@ -32,19 +31,16 @@ pipeline "ci" {
}

stage "build" {
run $"dotnet restore {sln}"
run $"dotnet build {sln} -c {config} --no-restore"
run "dotnet paket restore"
run $"dotnet build -c {config}"
}

stage "test" {
run
$"dotnet run --project tests/AsyncWriterResult.UnitTests/AsyncWriterResult.UnitTests.fsproj -c {config} --no-build"
}
stage "test" { run $"dotnet run --project tests/AsyncWriterResult.UnitTests -c {config} --no-build" }

stage "pack" { run $"dotnet pack {sln} -c {config} -p:PackageOutputPath=\"%s{nupkgs}\" {versionProperty}" }
stage "pack" { run $"dotnet pack -c {config} -p:PackageOutputPath=\"%s{nupkgs}\" {versionProperty}" }

stage "docs" {
run $"dotnet publish src/AsyncWriterResult/AsyncWriterResult.fsproj -c {config} -f net8.0 --no-build"
run $"dotnet publish src/AsyncWriterResult -c {config}"
run $"dotnet fsdocs build --properties Configuration={config} --output output --eval --strict"
}

Expand All @@ -56,9 +52,8 @@ pipeline "docs" {

stage "build" {
run "dotnet tool restore"
run $"dotnet restore {sln}"
run $"dotnet build {sln} -c {config} --no-restore"
run $"dotnet publish src/AsyncWriterResult/AsyncWriterResult.fsproj -c {config} -f net8.0 --no-build"
run "dotnet paket restore"
run $"dotnet publish src/AsyncWriterResult -c {config}"
run $"dotnet fsdocs build --properties Configuration={config} --eval --strict"
}

Expand All @@ -69,9 +64,8 @@ pipeline "docs:watch" {
description "Watch and rebuild the documentation site"

stage "build" {
run $"dotnet restore {sln}"
run $"dotnet build {sln} -c {config} --no-restore"
run $"dotnet publish src/AsyncWriterResult/AsyncWriterResult.fsproj -c {config} -f net8.0 --no-build"
run "dotnet paket restore"
run $"dotnet publish src/AsyncWriterResult -c {config}"
}

stage "watch" { run "dotnet fsdocs watch --eval --clean" }
Expand Down
2 changes: 1 addition & 1 deletion docs/index.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ category: docs
index: 0
---
*)
#r "../src/AsyncWriterResult/bin/Release/net8.0/publish/AsyncWriterResult.dll"
#r "../src/AsyncWriterResult/bin/Release/net10.0/AsyncWriterResult.dll"

(**
# AsyncWriterResult
Expand Down
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "8.0.406",
"version": "10.0.100",
"rollForward": "latestMinor"
}
}
7 changes: 1 addition & 6 deletions paket.dependencies
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,14 @@ source https://api.nuget.org/v3/index.json
storage: none
framework: auto-detect

nuget FSharp.Core ~> 8.0.403
nuget FsToolkit.ErrorHandling
nuget Expecto
nuget FsCheck
nuget Expecto.FsCheck

group Docs
source https://api.nuget.org/v3/index.json

framework: auto-detect
storage: symlink

nuget FSharp.Core ~> 8.0.403
nuget FSharp.Compiler.Service
nuget FSharp.Formatting
nuget Newtonsoft.Json
nuget FSharp.Formatting
38 changes: 16 additions & 22 deletions paket.lock
Original file line number Diff line number Diff line change
@@ -1,42 +1,36 @@
STORAGE: NONE
RESTRICTION: == net8.0
RESTRICTION: == net10.0
NUGET
remote: https://api.nuget.org/v3/index.json
Expecto (10.2.3)
FSharp.Core (>= 7.0.200)
Mono.Cecil (>= 0.11.4 < 1.0)
Expecto.FsCheck (9.0.4)
Expecto (>= 9.0.4)
FsCheck (>= 2.14.3)
FsCheck (3.3.2)
FSharp.Core (>= 5.0.2)
FSharp.Core (8.0.403)
FSharp.Core (10.0.102)
FsToolkit.ErrorHandling (5.1)
FSharp.Core (>= 6.0.4)
FSharp.Core (>= 9.0.300)
Mono.Cecil (0.11.6)

GROUP Docs
STORAGE: SYMLINK
RESTRICTION: == net8.0
RESTRICTION: == net10.0
NUGET
remote: https://api.nuget.org/v3/index.json
FSharp.Compiler.Service (43.8.403)
FSharp.Core (8.0.403)
System.Buffers (>= 4.5.1)
System.Collections.Immutable (>= 8.0)
System.Diagnostics.DiagnosticSource (>= 8.0)
System.Memory (>= 4.5.5)
FSharp.Compiler.Service (43.10.102)
FSharp.Core (10.0.102)
System.Buffers (>= 4.6)
System.Collections.Immutable (>= 9.0)
System.Diagnostics.DiagnosticSource (>= 9.0)
System.Memory (>= 4.6)
System.Reflection.Emit (>= 4.7)
System.Reflection.Metadata (>= 8.0)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
FSharp.Core (8.0.403)
System.Reflection.Metadata (>= 9.0)
System.Runtime.CompilerServices.Unsafe (>= 6.1)
FSharp.Core (10.0.102)
FSharp.Formatting (14.0.1)
FSharp.Compiler.Service (>= 40.0)
Newtonsoft.Json (13.0.4)
System.Buffers (4.6.1)
System.Collections.Immutable (8.0)
System.Diagnostics.DiagnosticSource (8.0.1)
System.Collections.Immutable (10.0.2)
System.Diagnostics.DiagnosticSource (10.0.2)
System.Memory (4.6.3)
System.Reflection.Emit (4.7)
System.Reflection.Metadata (8.0.1)
System.Reflection.Metadata (10.0.2)
System.Runtime.CompilerServices.Unsafe (6.1.2)
2 changes: 1 addition & 1 deletion src/AsyncWriterResult/AsyncWriterResult.fsproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<RepositoryUrl>https://github.com/totallymoney/AsyncWriterResult</RepositoryUrl>
<PackageProjectUrl>https://totallymoney.github.io/AsyncWriterResult/</PackageProjectUrl>
Expand Down
1 change: 0 additions & 1 deletion src/AsyncWriterResult/paket.references
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
FSharp.Core
FsToolkit.ErrorHandling
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
Expand Down
5 changes: 1 addition & 4 deletions tests/AsyncWriterResult.UnitTests/paket.references
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
FSharp.Core
Expecto
FsCheck
Expecto.FsCheck
Expecto