Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
217ac94
chore: rename slnx
feO2x Feb 25, 2026
6227ba2
chore: rename AspNetCore.MinimalApis.Tests project
feO2x Feb 25, 2026
2b8ca4e
chore: rename AspNetCore.Mvc.Tests project
feO2x Feb 25, 2026
4ac2043
chore: rename AspNetCore.Shared.Tests project
feO2x Feb 25, 2026
391ca8a
chore: rename core test project
feO2x Feb 25, 2026
3826f1e
chore: rename MinimalApis project
feO2x Feb 25, 2026
759b441
chore: rename AspNetCore.Mvc project
feO2x Feb 25, 2026
5e78be8
chore: rename AspNetCore.Shared project
feO2x Feb 25, 2026
a301acf
chore: rename Light.Results to Light.PortableResults
feO2x Feb 25, 2026
c717db4
chore: update GitHub Actions workflow with new names
feO2x Feb 25, 2026
dda6d1c
chore: rename public SNK
feO2x Feb 25, 2026
6eea843
chore: rename DotSettings file
feO2x Feb 25, 2026
88ad134
chore: fix naming in AGENTS.md and csproj files
feO2x Feb 25, 2026
d188c76
chore: rename to PortableResultsCloudEventsReadOptions
feO2x Feb 25, 2026
0a04e2a
chore: rename Light.Results to Light.PortableResults in readme
feO2x Feb 25, 2026
b781755
chore: rename to PortableResultsCloudEventsWriteOptions
feO2x Feb 25, 2026
bf1075b
chore: rename to PortableResultsHttpReadOptions
feO2x Feb 25, 2026
9b5d115
chore: rename to PortableResultsHttpWriteOptions
feO2x Feb 25, 2026
8e93eaf
chore: rename Http Writing module names
feO2x Feb 25, 2026
9e017a0
chore: rename HTTP Reading module names
feO2x Feb 25, 2026
4653f2a
chore: rename file for PortableResultsHttpReadOptions
feO2x Feb 25, 2026
2195568
chore: rename CloudEvents Reading module names
feO2x Feb 25, 2026
c976f9c
chore: rename Minimal APIs Module names
feO2x Feb 25, 2026
8403bb4
chore: rename MVC module names
feO2x Feb 25, 2026
6b3edc9
chore: rename to ConfigureMinimalApiJsonOptionsForPortableResults
feO2x Feb 25, 2026
1e441eb
chore: rename to ResolvePortableResultsHttpWriteOptions
feO2x Feb 25, 2026
37a838f
chore: rename to PortableResultsEndpointExtensions
feO2x Feb 25, 2026
b073643
chore: rename to ProducesPortableResult
feO2x Feb 25, 2026
300f9e2
chore: rename to ProducesPortableResultAttribute
feO2x Feb 25, 2026
3cf441f
chore: fixed code samples in readme
feO2x Feb 25, 2026
054fdc6
chore: rename lroutcome to lproutcome in CloudEvents integration
feO2x Feb 25, 2026
76f37ad
chore: add rename summary for issue 22
feO2x Feb 25, 2026
e1cac21
chore: fix missing renames for Light.PortableResults
feO2x Feb 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ jobs:
- name: Cache NuGet packages
uses: ./.github/actions/cache-nuget
- name: Restore dependencies
run: dotnet restore ./Light.Results.slnx /p:ContinuousIntegrationBuild=true
run: dotnet restore ./Light.PortableResults.slnx /p:ContinuousIntegrationBuild=true
- name: Build
run: dotnet build ./Light.Results.slnx --configuration Release --no-restore /p:ContinuousIntegrationBuild=true
run: dotnet build ./Light.PortableResults.slnx --configuration Release --no-restore /p:ContinuousIntegrationBuild=true
- name: Test
run: >
dotnet test ./Light.Results.slnx
dotnet test ./Light.PortableResults.slnx
--configuration Release
--no-build
--settings ./coverage.runsettings
Expand Down
16 changes: 9 additions & 7 deletions .github/workflows/release-on-nuget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,17 @@ jobs:
global-json-file: ./global.json
- name: Cache NuGet packages
uses: ./.github/actions/cache-nuget
- name: Prepare SNK file
- name: Create signed NuGet packages
env:
SNK: ${{ secrets.SNK }}
run: echo "$SNK" | base64 --decode > Light.Results.snk
- name: Create NuGet packages
# AssemblyOriginatorKeyFile must be a relative path from the csproj file that is being built, hence the ../../
run: dotnet pack ./Light.Results.slnx --configuration Release /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=../../Light.Results.snk /p:ContinuousIntegrationBuild=true
- name: Delete SNK file
run: rm ./Light.Results.snk
shell: bash
run: |
set -euo pipefail
SNK_PATH=./Light.PortableResults.snk
trap 'rm -f "$SNK_PATH"' EXIT
echo "$SNK" | base64 --decode > "$SNK_PATH"
# AssemblyOriginatorKeyFile must be a relative path from the csproj file that is being built, hence the ../../
dotnet pack ./Light.PortableResults.slnx --configuration Release /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=../../Light.PortableResults.snk /p:ContinuousIntegrationBuild=true
- name: Push NuGet packages
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
Expand Down
6 changes: 4 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# Root Agents.md

Light.Results is a lightweight, high-performance library implementing the Result Pattern for .NET. It stands out for reducing allocations and being able to serialize and deserialize results across different protocols (HTTP via RFC-9457, gRPC, Asynchronous Messaging). Extensibility is less important than performance.
Light.PortableResults is a lightweight, high-performance library implementing the Result Pattern for .NET. It stands out
for reducing allocations and being able to serialize and deserialize results across different protocols (HTTP via
RFC-9457, gRPC, Asynchronous Messaging). Extensibility is less important than performance.

## General Rules for the Code Base

In our Directory.Build.props files in this solution, the following rules are defined:

- Implicit usings or global usings are not allowed - use explicit using statements for clarity.
- Light.Results project is built with .NET Standard 2.0, but you can use C# 14 features.
- The Light.PortableResults project is built with .NET Standard 2.0, but you can use C# 14 features.
- All other projects use .NET 10, including the test projects.
- The library is not published yet, you can make breaking changes.
- `<TreatWarningsAsErrors>` is enabled in Release builds, so your code changes must not generate warnings.
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@
x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=datacontenttype/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=hmacsha/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=lroutcome/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=lproutcome/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=nupkg/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=specversion/@EntryIndexedValue">True</s:Boolean>
</wpf:ResourceDictionary>
26 changes: 16 additions & 10 deletions Light.Results.slnx → Light.PortableResults.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
<File Path="ai-plans\0015-cloud-events-write-optimization.md" />
<File Path="ai-plans\0015-cloud-events-write-streamlining.md" />
<File Path="ai-plans\0015-final-code-review.md" />
<File Path="ai-plans\0017-HTTP-write-integration-streamlining.md" />
<File Path="ai-plans\0022-rename-summary.md" />
<File Path="ai-plans\AGENTS.md" />
</Folder>
<Folder Name="/benchmarks/">
Expand All @@ -36,23 +38,27 @@
<File Path="Directory.Packages.props" />
<File Path="global.json" />
<File Path="LICENSE" />
<File Path="Light.Results.Public.snk" />
<File Path="Light.Results.sln.DotSettings" />
<File Path="Light.PortableResults.Public.snk" />
<File Path="Light.PortableResults.sln.DotSettings" />
<File Path="README.md" />
</Folder>
<Folder Name="/src/">
<File Path="src\AGENTS.md" />
<File Path="src\Directory.Build.props" />
<Project Path="src/Light.Results/Light.Results.csproj" />
<Project Path="src\Light.Results.AspNetCore.MinimalApis\Light.Results.AspNetCore.MinimalApis.csproj" />
<Project Path="src\Light.Results.AspNetCore.Shared\Light.Results.AspNetCore.Shared.csproj" />
<Project Path="src\Light.Results.AspNetCore.Mvc\Light.Results.AspNetCore.Mvc.csproj" />
<Project Path="src\Light.PortableResults.AspNetCore.Mvc\Light.PortableResults.AspNetCore.Mvc.csproj" />
<Project
Path="src\Light.PortableResults.AspNetCore.MinimalApis\Light.PortableResults.AspNetCore.MinimalApis.csproj" />
<Project Path="src\Light.PortableResults.AspNetCore.Shared\Light.PortableResults.AspNetCore.Shared.csproj" />
<Project Path="src\Light.PortableResults\Light.PortableResults.csproj" />
</Folder>
<Folder Name="/tests/">
<File Path="tests\AGENTS.md" />
<Project Path="tests/Light.Results.Tests/Light.Results.Tests.csproj" />
<Project Path="tests\Light.Results.AspNetCore.MinimalApis.Tests\Light.Results.AspNetCore.MinimalApis.Tests.csproj" />
<Project Path="tests\Light.Results.AspNetCore.Shared.Tests\Light.Results.AspNetCore.Shared.Tests.csproj" />
<Project Path="tests\Light.Results.AspNetCore.Mvc.Tests\Light.Results.AspNetCore.Mvc.Tests.csproj" />
<Project
Path="tests\Light.PortableResults.AspNetCore.Mvc.Tests\Light.PortableResults.AspNetCore.Mvc.Tests.csproj" />
<Project
Path="tests\Light.PortableResults.AspNetCore.MinimalApis.Tests\Light.PortableResults.AspNetCore.MinimalApis.Tests.csproj" />
<Project
Path="tests\Light.PortableResults.AspNetCore.Shared.Tests\Light.PortableResults.AspNetCore.Shared.Tests.csproj" />
<Project Path="tests\Light.PortableResults.Tests\Light.PortableResults.Tests.csproj" />
</Folder>
</Solution>
Loading