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
54 changes: 14 additions & 40 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,69 +4,43 @@ on:
push:
branches: [ main, dev, feature/*, fix/*, release/* ]

pull_request:
branches: [ main ]

release:
types: [ published ]
branches: [ main ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Setup .NET
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v5
with:
dotnet-version: |
8.0.x
9.0.x

# Create Local NuGet Source
10.0.x
# dotnet-quality: 'preview' # When using preview versions
dotnet-quality: 'ga' # General Availability

- name: Create Local NuGet Directory
run: mkdir ~/nuget

- name: Add Local Nuget Source
run: dotnet nuget add source ~/nuget

# FlatArray

- name: Restore FlatArray
run: dotnet restore ./src/*/*/FlatArray.csproj

- name: Build FlatArray
run: dotnet build ./src/*/*/FlatArray.csproj --no-restore -c Release

- name: Pack FlatArray
run: dotnet pack ./src/*/*/FlatArray.csproj --no-restore -o ~/nuget -c Release

- name: Restore FlatArray.Tests
run: dotnet restore ./src/*/*/FlatArray.Tests.csproj

- name: Test FlatArray.Tests
run: dotnet test ./src/*/*/FlatArray.Tests.csproj --no-restore -c Release

# FlatCollections

- name: Restore FlatCollections
run: dotnet restore ./src/*/*/FlatCollections.csproj
- name: Restore solution
run: dotnet restore src/Core.FlatCollections.slnx

- name: Build FlatCollections
run: dotnet build ./src/*/*/FlatCollections.csproj --no-restore -c Release
- name: Build solution
run: dotnet build src/Core.FlatCollections.slnx --no-restore -c Release

- name: Pack FlatCollections
run: dotnet pack ./src/*/*/FlatCollections.csproj --no-restore -o ~/nuget -c Release
- name: Test solution
run: dotnet test src/Core.FlatCollections.slnx --no-restore -c Release

# Push
- name: Pack solution
run: dotnet pack src/Core.FlatCollections.slnx --no-restore -o ~/nuget -c Release

- name: Push Packages
if: ${{ github.event_name == 'release' }}
run: >
dotnet nuget push "../../../nuget/*.nupkg"
-s https://api.nuget.org/v3/index.json
-k ${{ secrets.NuGetSourcePassword }}
--skip-duplicate
--skip-duplicate
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2022-2025 Andrei Sergeev, Pavel Moskovoy
Copyright (c) 2022-2026 Andrei Sergeev, Pavel Moskovoy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
15 changes: 15 additions & 0 deletions src/Core.FlatCollections.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<Solution>
<Folder Name="/.sln/">
<File Path="../.github/workflows/dotnet.yml" />
<File Path="../LICENSE" />
<File Path="../.gitignore" />
<File Path="../README.md" />
</Folder>
<Folder Name="/flatcollections-array/">
<Project Path="flatcollections-array/FlatArray.Tests/FlatArray.Tests.csproj" />
<Project Path="flatcollections-array/FlatArray/FlatArray.csproj" />
</Folder>
<Folder Name="/flatcollections/">
<Project Path="flatcollections/FlatCollections/FlatCollections.csproj" />
</Folder>
</Solution>
18 changes: 9 additions & 9 deletions src/flatcollections-array/FlatArray.Tests/FlatArray.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
<TargetFrameworks>net10.0</TargetFrameworks>
<LangVersion>latest</LangVersion>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
<InvariantGlobalization>true</InvariantGlobalization>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>$(NoWarn);IDE0130</NoWarn>
<NoWarn>$(NoWarn);CA1861;IDE0130;xUnit1046</NoWarn>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<Authors>Andrei Sergeev, Pavel Moskovoy</Authors>
<Copyright>Copyright © 2022-2025 Andrei Sergeev, Pavel Moskovoy</Copyright>
<Copyright>Copyright © 2022-2026 Andrei Sergeev, Pavel Moskovoy</Copyright>
<RootNamespace>PrimeFuncPack.Core.Tests</RootNamespace>
<AssemblyName>PrimeFuncPack.Core.FlatArray.Tests</AssemblyName>
</PropertyGroup>
Expand All @@ -21,17 +21,17 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.3">
<PackageReference Include="coverlet.collector" Version="10.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="PrimeFuncPack.UnitTest.Data" Version="3.1.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.5.0" />
<PackageReference Include="PrimeFuncPack.UnitTest.Data" Version="3.1.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="xunit.v3" Version="3.2.2" />
</ItemGroup>

</Project>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public static TheoryData<JsonSerializerOptions?> JsonSerializerOptionsTestData
new()
{
{
null
new(null)
},
{
new JsonSerializerOptions()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public static TheoryData<FlatArray<byte>> CanCastArray_ValueType_TypeTheSame_Exp
new()
{
{
default
new(default)
},
{
new byte[] { 1 }.InitializeFlatArray()
Expand All @@ -43,7 +43,7 @@ public static TheoryData<FlatArray<byte>> CanCastArray_ValueType_TypeCompatible_
new()
{
{
default
new(default)
},
{
new byte[] { 1 }.InitializeFlatArray()
Expand All @@ -66,7 +66,7 @@ public static TheoryData<FlatArray<byte>> CanCastArray_ValueType_TypeIncompatibl
new()
{
{
default
new(default)
},
{
new byte[] { 1 }.InitializeFlatArray()
Expand All @@ -91,7 +91,7 @@ public static TheoryData<FlatArray<string>> CanCastArray_RefType_TypeTheSame_Exp
new()
{
{
default
new(default)
},
{
new[] { "1" }.InitializeFlatArray()
Expand All @@ -117,7 +117,7 @@ public static TheoryData<FlatArray<string>> CanCastArray_RefType_TypeCompatible_
new()
{
{
default
new(default)
},
{
new[] { "1" }.InitializeFlatArray()
Expand All @@ -143,7 +143,7 @@ public static TheoryData<FlatArray<object>> CanCastArray_RefType_TypeIncompatibl
new()
{
{
default
new(default)
},
{
new[] { new object() }.InitializeFlatArray()
Expand All @@ -155,4 +155,4 @@ public static TheoryData<FlatArray<object>> CanCastArray_RefType_TypeIncompatibl
new[] { null!, new object(), new object() }.InitializeFlatArray()
}
};
}
}
8 changes: 4 additions & 4 deletions src/flatcollections-array/FlatArray/FlatArray.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
<TargetFrameworks>net10.0</TargetFrameworks>
<LangVersion>latest</LangVersion>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
Expand All @@ -15,11 +15,11 @@
<RepositoryUrl>https://github.com/pfpack/pfpack-core-flatcollections</RepositoryUrl>
<Company>pfpack</Company>
<Authors>Andrei Sergeev, Pavel Moskovoy</Authors>
<Copyright>Copyright © 2022-2025 Andrei Sergeev, Pavel Moskovoy</Copyright>
<Copyright>Copyright © 2022-2026 Andrei Sergeev, Pavel Moskovoy</Copyright>
<Description>PrimeFuncPack Core.FlatArray is a core library for .NET consisting of immutable FlatArray targeted for use in functional programming.</Description>
<RootNamespace>System</RootNamespace>
<AssemblyName>PrimeFuncPack.Core.FlatArray</AssemblyName>
<Version>1.5.1</Version>
<Version>1.5.2-preview.1</Version>
</PropertyGroup>

<ItemGroup>
Expand All @@ -33,4 +33,4 @@
</None>
</ItemGroup>

</Project>
</Project>
10 changes: 5 additions & 5 deletions src/flatcollections/FlatCollections/FlatCollections.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
<TargetFrameworks>net10.0</TargetFrameworks>
<LangVersion>latest</LangVersion>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
Expand All @@ -15,11 +15,11 @@
<RepositoryUrl>https://github.com/pfpack/pfpack-core-flatcollections</RepositoryUrl>
<Company>pfpack</Company>
<Authors>Andrei Sergeev, Pavel Moskovoy</Authors>
<Copyright>Copyright © 2022-2025 Andrei Sergeev, Pavel Moskovoy</Copyright>
<Copyright>Copyright © 2022-2026 Andrei Sergeev, Pavel Moskovoy</Copyright>
<Description>PrimeFuncPack Core.FlatCollections is a set of immutable Flat collections for .NET designed for developing business applications based on functional programming.</Description>
<RootNamespace>System</RootNamespace>
<AssemblyName>PrimeFuncPack.Core.FlatCollections</AssemblyName>
<Version>1.5.1</Version>
<Version>1.5.2-preview.1</Version>
</PropertyGroup>

<ItemGroup>
Expand All @@ -34,7 +34,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="PrimeFuncPack.Core.FlatArray" Version="1.5.1" />
<ProjectReference Include="../../flatcollections-array/FlatArray/FlatArray.csproj" />
</ItemGroup>

</Project>
</Project>