Skip to content

Commit ddba9d3

Browse files
authored
Merge pull request #2 from feO2x/1-serializable-metadata
Serializable Metadata
2 parents 9e43595 + ff91e24 commit ddba9d3

80 files changed

Lines changed: 14595 additions & 100 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: 'Cache NuGet Packages'
2+
description: 'Sets up caching for NuGet packages to speed up builds'
3+
author: 'Kenny Pflug'
4+
5+
runs:
6+
using: 'composite'
7+
steps:
8+
- name: Cache NuGet packages
9+
uses: actions/cache@v4
10+
with:
11+
path: ~/.nuget/packages
12+
key: nuget-${{ runner.os }}-${{ hashFiles('**/packages.lock.json') }}
13+
restore-keys: |
14+
nuget-${{ runner.os }}-
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Build and Test
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
build-and-test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v4
15+
- name: Set up .NET
16+
uses: actions/setup-dotnet@v4
17+
with:
18+
global-json-file: ./global.json
19+
- name: Cache NuGet packages
20+
uses: ./.github/actions/cache-nuget
21+
- name: Restore dependencies
22+
run: dotnet restore ./Light.Results.slnx /p:ContinuousIntegrationBuild=true
23+
- name: Build
24+
run: dotnet build ./Light.Results.slnx --configuration Release --no-restore /p:ContinuousIntegrationBuild=true
25+
- name: Test
26+
run: >
27+
dotnet test ./Light.Results.slnx
28+
--configuration Release
29+
--no-build
30+
--verbosity normal
31+
--collect:"XPlat Code Coverage"
32+
--
33+
DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura
34+
- name: Publish coverage summary
35+
uses: irongut/[email protected]
36+
with:
37+
filename: '**/coverage.cobertura.xml'
38+
badge: true
39+
format: 'markdown'
40+
output: 'both'
41+
- name: Upload coverage artifact
42+
uses: actions/upload-artifact@v4
43+
with:
44+
name: coverage-reports
45+
path: '**/coverage.cobertura.xml'

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
bin/
55
obj/
66
*.user
7-
*.suo
7+
*.suo
8+
*.cobertura.xml

Directory.Build.props

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,10 @@
55
<Nullable>enable</Nullable>
66
<ImplicitUsings>disable</ImplicitUsings>
77
<TreatWarningsAsErrors Condition="'$(Configuration)' == 'Release'">true</TreatWarningsAsErrors>
8+
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
9+
<RestoreLockedMode Condition="'$(ContinuousIntegrationBuild)' == 'true'">true</RestoreLockedMode>
10+
<Authors>Kenny Pflug</Authors>
11+
<Company>Kenny Pflug</Company>
12+
<Copyright>Copyright (c) 2026 Kenny Pflug</Copyright>
813
</PropertyGroup>
914
</Project>

Directory.Packages.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
</PropertyGroup>
66
<ItemGroup>
77
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
8+
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
9+
<PackageVersion Include="FluentAssertions" Version="[7.2.0]" />
810
<PackageVersion Include="IsExternalInit" Version="1.0.3" />
911
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
1012
<PackageVersion Include="Nullable" Version="1.3.1" />

Light.Results.slnx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
<Solution>
2+
<Folder Name="/.github/" />
3+
<Folder Name="/.github/actions/" />
4+
<Folder Name="/.github/actions/cache-nuget/">
5+
<File Path=".github\actions\cache-nuget\action.yml" />
6+
</Folder>
7+
<Folder Name="/.github/workflows/">
8+
<File Path=".github\workflows\build-and-test.yml" />
9+
</Folder>
210
<Folder Name="/ai-plans/">
311
<File Path="ai-plans\0001-metadata.md" />
412
</Folder>
@@ -10,6 +18,7 @@
1018
<File Path=".gitignore" />
1119
<File Path="Directory.Build.props" />
1220
<File Path="Directory.Packages.props" />
21+
<File Path="global.json" />
1322
<File Path="LICENSE" />
1423
<File Path="Light.Results.sln.DotSettings" />
1524
</Folder>

ai-plans/0001-metadata.md

Lines changed: 299 additions & 0 deletions
Large diffs are not rendered by default.

benchmarks/Benchmarks/BenchmarkDotNet.Artifacts/BenchmarkRun-20260107-124011.log

Lines changed: 4754 additions & 0 deletions
Large diffs are not rendered by default.

benchmarks/Benchmarks/BenchmarkDotNet.Artifacts/Benchmarks.MetadataBuilderBenchmarks-20260107-132709.log

Lines changed: 585 additions & 0 deletions
Large diffs are not rendered by default.

benchmarks/Benchmarks/BenchmarkDotNet.Artifacts/Benchmarks.MetadataBuilderBenchmarks-20260107-135948.log

Lines changed: 592 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)