Skip to content

Commit dc4c7c9

Browse files
authored
V9.0.0/rtm (#102)
📝 updated DocFX ⬆️ bump dependencies 👷 updated CI/CD pipeline due to external circular references
1 parent 30a1fd1 commit dc4c7c9

File tree

9 files changed

+237
-41
lines changed

9 files changed

+237
-41
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Availability: .NET 8, .NET 6, .NET Standard 2.1 and .NET Standard 2.0
1+
Availability: .NET 9, .NET 8, .NET Standard 2.1 and .NET Standard 2.0
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Availability: .NET 8, .NET 6 and .NET Standard 2.0
1+
Availability: .NET 9, .NET 8 and .NET Standard 2.0
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Availability: .NET 8, .NET 6 and .NET Standard 2.0 (when applicable) or .NET Standard 2.1 (when applicable)
1+
Availability: .NET 9, .NET 8 and .NET Standard 2.0 (when applicable) or .NET Standard 2.1 (when applicable)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Availability: .NET 8 and .NET 6
1+
Availability: .NET 9 and .NET 8

.docfx/toc.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,5 @@
1818
href: api/extensions/aspnet/Cuemon.Extensions.AspNetCore.Configuration.html
1919
- name: Other Projects
2020
href: api/extensions
21-
expanded: true
22-
items:
23-
- name: Json.NET API
24-
href: api/extensions/jsonnet/Cuemon.Extensions.Newtonsoft.Json.html
25-
- name: Swashbuckle.AspNetCore API
26-
href: api/extensions/swagger/Cuemon.Extensions.Swashbuckle.AspNetCore.html
27-
- name: AWS Signature API
28-
href: api/extensions/awssignature4/Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4.html
2921
- name: NuGet
3022
href: packages
Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
name: Cuemon CI/CD Pipeline (Delayed)
2+
on:
3+
pull_request:
4+
paths-ignore:
5+
- .codecov/**
6+
- .docfx/**
7+
- .github/**
8+
- .nuget/**
9+
- '**.md'
10+
workflow_dispatch:
11+
inputs:
12+
configuration:
13+
type: choice
14+
description: The build configuration to use in the deploy stage.
15+
required: true
16+
default: Release
17+
options:
18+
- Debug
19+
- Release
20+
21+
jobs:
22+
prepare_linux:
23+
name: 🐧 Prepare Linux
24+
runs-on: ubuntu-22.04
25+
timeout-minutes: 15
26+
outputs:
27+
restoreCacheKey: ${{ steps.dotnet-restore.outputs.restoreCacheKey }}
28+
steps:
29+
- name: Checkout
30+
uses: codebeltnet/git-checkout@v1
31+
32+
- name: Install .NET
33+
uses: codebeltnet/install-dotnet@v1
34+
with:
35+
includePreview: true
36+
37+
- id: dotnet-restore
38+
name: Restore Dependencies
39+
uses: codebeltnet/dotnet-restore@v2
40+
with:
41+
useRestoreCache: true
42+
43+
prepare_windows:
44+
name: 🪟 Prepare Windows
45+
runs-on: windows-2022
46+
timeout-minutes: 15
47+
outputs:
48+
restoreCacheKey: ${{ steps.dotnet-restore.outputs.restoreCacheKey }}
49+
steps:
50+
- name: Checkout
51+
uses: codebeltnet/git-checkout@v1
52+
53+
- name: Install .NET
54+
uses: codebeltnet/install-dotnet@v1
55+
with:
56+
includePreview: true
57+
58+
- id: dotnet-restore
59+
name: Restore Dependencies
60+
uses: codebeltnet/dotnet-restore@v2
61+
with:
62+
useRestoreCache: true
63+
64+
build:
65+
name: 🛠️ Build
66+
runs-on: ubuntu-22.04
67+
timeout-minutes: 15
68+
strategy:
69+
matrix:
70+
configuration: [Debug, Release]
71+
framework: [net9.0, net8.0, netstandard2.0]
72+
needs: [prepare_linux]
73+
outputs:
74+
version: ${{ steps.minver-calculate.outputs.version }}
75+
projects: ${{ steps.projects.outputs.result }}
76+
steps:
77+
- name: Checkout
78+
uses: codebeltnet/git-checkout@v1
79+
80+
- name: Install .NET
81+
uses: codebeltnet/install-dotnet@v1
82+
with:
83+
includePreview: true
84+
85+
- name: Install MinVer
86+
uses: codebeltnet/dotnet-tool-install-minver@v1
87+
88+
- id: minver-calculate
89+
name: Calculate Version
90+
uses: codebeltnet/minver-calculate@v2
91+
92+
- name: Download cuemon.snk file
93+
uses: codebeltnet/gcp-download-file@v1
94+
with:
95+
serviceAccountKey: ${{ secrets.GCP_TOKEN }}
96+
bucketName: ${{ secrets.GCP_BUCKETNAME }}
97+
objectName: cuemon.snk
98+
99+
- id: projects
100+
name: Set environment variable for projects
101+
run: |
102+
if [ "${{ matrix.framework }}" == "netstandard2.0" ]; then
103+
projects=(
104+
"src/**/Cuemon.Extensions.Globalization.csproj"
105+
)
106+
echo "result=$(IFS=' '; echo "${projects[*]}")" >> $GITHUB_OUTPUT
107+
else
108+
projects=(
109+
"src/**/Cuemon.Core.App.csproj"
110+
"src/**/Cuemon.Extensions.Globalization.csproj"
111+
)
112+
echo "result=$(IFS=' '; echo "${projects[*]}")" >> $GITHUB_OUTPUT
113+
fi
114+
shell: bash
115+
116+
- id: dotnet-build
117+
name: Build for ${{ matrix.framework }} (${{ matrix.configuration }})
118+
uses: codebeltnet/dotnet-build@v2
119+
with:
120+
projects: ${{ steps.projects.outputs.result }}
121+
configuration: ${{ matrix.configuration }}
122+
framework: ${{ matrix.framework }}
123+
restoreCacheKey: ${{ needs.prepare_linux.outputs.restoreCacheKey }}
124+
uploadBuildArtifactName: 'DelayedBuild.${{ matrix.framework }}.${{ matrix.configuration }}'
125+
126+
pack:
127+
name: 📦 Pack
128+
runs-on: ubuntu-22.04
129+
timeout-minutes: 15
130+
strategy:
131+
matrix:
132+
configuration: [Debug, Release]
133+
needs: [prepare_linux, build]
134+
steps:
135+
- name: Checkout
136+
uses: codebeltnet/git-checkout@v1
137+
138+
- name: Install .NET
139+
uses: codebeltnet/install-dotnet@v1
140+
with:
141+
includePreview: true
142+
143+
- name: Pack for ${{ matrix.configuration }}
144+
uses: codebeltnet/dotnet-pack@v2
145+
with:
146+
configuration: ${{ matrix.configuration }}
147+
uploadPackedArtifact: true
148+
version: ${{ needs.build.outputs.version }}
149+
restoreCacheKey: ${{ needs.prepare_linux.outputs.restoreCacheKey }}
150+
downloadBuildArtifactPattern: 'DelayedBuild.*.${{ matrix.configuration }}'
151+
uploadPackedArtifactName: 'NuGet-Delayed-${{ matrix.configuration }}'
152+
projects: ${{ needs.build.outputs.projects }}
153+
154+
deploy:
155+
if: github.event_name != 'pull_request'
156+
name: 🚀 Deploy v${{ needs.build.outputs.version }}
157+
runs-on: ubuntu-22.04
158+
timeout-minutes: 15
159+
needs: [build, pack]
160+
environment: Production
161+
steps:
162+
- uses: codebeltnet/nuget-push@v1
163+
with:
164+
token: ${{ secrets.NUGET_TOKEN }}
165+
configuration: ${{ inputs.configuration == '' && 'Release' || inputs.configuration }}
166+
downloadBuildArtifactName: NuGet-Delayed-${{ inputs.configuration == '' && 'Release' || inputs.configuration }}

.github/workflows/pipelines.yml

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ jobs:
7272
needs: [prepare_linux]
7373
outputs:
7474
version: ${{ steps.minver-calculate.outputs.version }}
75+
projects: ${{ steps.projects.outputs.result }}
7576
testProjects: ${{ steps.test-projects.outputs.result }}
7677
steps:
7778
- name: Checkout
@@ -96,10 +97,11 @@ jobs:
9697
bucketName: ${{ secrets.GCP_BUCKETNAME }}
9798
objectName: cuemon.snk
9899

99-
- name: Set environment variable for projects
100+
- id: projects
101+
name: Set environment variable for projects
100102
run: |
101103
if [ "${{ matrix.framework }}" == "netstandard2.1" ]; then
102-
echo "PROJECTS=src/**/Cuemon.Extensions.IO.csproj src/**/Cuemon.IO.csproj" >> $GITHUB_ENV
104+
echo "result=src/**/Cuemon.Extensions.IO.csproj src/**/Cuemon.IO.csproj" >> $GITHUB_OUTPUT
103105
elif [ "${{ matrix.framework }}" == "netstandard2.0" ]; then
104106
projects=(
105107
"src/**/Cuemon.Core.csproj"
@@ -114,7 +116,6 @@ jobs:
114116
"src/**/Cuemon.Extensions.Data.Integrity.csproj"
115117
"src/**/Cuemon.Extensions.DependencyInjection.csproj"
116118
"src/**/Cuemon.Extensions.Diagnostics.csproj"
117-
"src/**/Cuemon.Extensions.Globalization.csproj"
118119
"src/**/Cuemon.Extensions.Hosting.csproj"
119120
"src/**/Cuemon.Extensions.IO.csproj"
120121
"src/**/Cuemon.Extensions.Net.csproj"
@@ -132,17 +133,60 @@ jobs:
132133
"src/**/Cuemon.Threading.csproj"
133134
"src/**/Cuemon.Xml.csproj"
134135
)
135-
echo "PROJECTS=$(IFS=' '; echo "${projects[*]}")" >> $GITHUB_ENV
136+
echo "result=$(IFS=' '; echo "${projects[*]}")" >> $GITHUB_OUTPUT
136137
else
137-
echo "PROJECTS=src/**/*.csproj" >> $GITHUB_ENV
138+
projects=(
139+
"src/**/Cuemon.AspNetCore.csproj"
140+
"src/**/Cuemon.AspNetCore.App.csproj"
141+
"src/**/Cuemon.AspNetCore.Authentication.csproj"
142+
"src/**/Cuemon.AspNetCore.Mvc.csproj"
143+
"src/**/Cuemon.AspNetCore.Razor.TagHelpers.csproj"
144+
"src/**/Cuemon.Core.csproj"
145+
"src/**/Cuemon.Data.csproj"
146+
"src/**/Cuemon.Data.Integrity.csproj"
147+
"src/**/Cuemon.Data.SqlClient.csproj"
148+
"src/**/Cuemon.Diagnostics.csproj"
149+
"src/**/Cuemon.Extensions.AspNetCore.csproj"
150+
"src/**/Cuemon.Extensions.AspNetCore.Authentication.csproj"
151+
"src/**/Cuemon.Extensions.AspNetCore.Mvc.csproj"
152+
"src/**/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json.csproj"
153+
"src/**/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Xml.csproj"
154+
"src/**/Cuemon.Extensions.AspNetCore.Mvc.RazorPages.csproj"
155+
"src/**/Cuemon.Extensions.AspNetCore.Text.Json.csproj"
156+
"src/**/Cuemon.Extensions.AspNetCore.Xml.csproj"
157+
"src/**/Cuemon.Extensions.Collections.Generic.csproj"
158+
"src/**/Cuemon.Extensions.Collections.Specialized.csproj"
159+
"src/**/Cuemon.Extensions.Core.csproj"
160+
"src/**/Cuemon.Extensions.Data.csproj"
161+
"src/**/Cuemon.Extensions.Data.Integrity.csproj"
162+
"src/**/Cuemon.Extensions.DependencyInjection.csproj"
163+
"src/**/Cuemon.Extensions.Diagnostics.csproj"
164+
"src/**/Cuemon.Extensions.Hosting.csproj"
165+
"src/**/Cuemon.Extensions.IO.csproj"
166+
"src/**/Cuemon.Extensions.Net.csproj"
167+
"src/**/Cuemon.Extensions.Reflection.csproj"
168+
"src/**/Cuemon.Extensions.Runtime.Caching.csproj"
169+
"src/**/Cuemon.Extensions.Text.csproj"
170+
"src/**/Cuemon.Extensions.Text.Json.csproj"
171+
"src/**/Cuemon.Extensions.Threading.csproj"
172+
"src/**/Cuemon.Extensions.Xml.csproj"
173+
"src/**/Cuemon.IO.csproj"
174+
"src/**/Cuemon.Net.csproj"
175+
"src/**/Cuemon.Resilience.csproj"
176+
"src/**/Cuemon.Runtime.Caching.csproj"
177+
"src/**/Cuemon.Security.Cryptography.csproj"
178+
"src/**/Cuemon.Threading.csproj"
179+
"src/**/Cuemon.Xml.csproj"
180+
)
181+
echo "result=$(IFS=' '; echo "${projects[*]}")" >> $GITHUB_OUTPUT
138182
fi
139183
shell: bash
140184

141185
- id: dotnet-build
142186
name: Build for ${{ matrix.framework }} (${{ matrix.configuration }})
143187
uses: codebeltnet/dotnet-build@v2
144188
with:
145-
projects: ${{ env.PROJECTS }}
189+
projects: ${{ steps.projects.outputs.result }}
146190
configuration: ${{ matrix.configuration }}
147191
framework: ${{ matrix.framework }}
148192
restoreCacheKey: ${{ needs.prepare_linux.outputs.restoreCacheKey }}
@@ -177,6 +221,7 @@ jobs:
177221
uploadPackedArtifact: true
178222
version: ${{ needs.build.outputs.version }}
179223
restoreCacheKey: ${{ needs.prepare_linux.outputs.restoreCacheKey }}
224+
projects: ${{ needs.build.outputs.projects }}
180225

181226
test:
182227
name: 🧪 Test

Directory.Packages.props

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,34 @@
11
<Project>
2-
32
<PropertyGroup>
43
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
54
</PropertyGroup>
6-
75
<ItemGroup>
86
<PackageVersion Include="AutoFixture" Version="4.18.1" />
9-
<PackageVersion Include="Backport.System.Threading.Lock" Version="2.0.5" />
10-
<PackageVersion Include="Codebelt.Extensions.Xunit" Version="9.0.0-preview.11" />
11-
<PackageVersion Include="Codebelt.Extensions.Xunit.Hosting" Version="9.0.0-preview.11" />
12-
<PackageVersion Include="Codebelt.Extensions.Xunit.Hosting.AspNetCore" Version="9.0.0-preview.11" />
13-
<PackageVersion Include="Codebelt.Extensions.YamlDotNet" Version="9.0.0-preview.5" />
7+
<PackageVersion Include="Backport.System.Threading.Lock" Version="2.0.7" />
8+
<PackageVersion Include="Codebelt.Extensions.Xunit" Version="9.0.0-rc.1" />
9+
<PackageVersion Include="Codebelt.Extensions.Xunit.Hosting" Version="9.0.0-rc.1" />
10+
<PackageVersion Include="Codebelt.Extensions.Xunit.Hosting.AspNetCore" Version="9.0.0-rc.1" />
11+
<PackageVersion Include="Codebelt.Extensions.YamlDotNet" Version="9.0.0-rc.1" />
1412
<PackageVersion Include="Meziantou.Xunit.ParallelTestFramework" Version="2.3.0" />
1513
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
1614
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
1715
<PackageVersion Include="Microsoft.TestPlatform.ObjectModel" Version="17.10.0" />
1816
<PackageVersion Include="MinVer" Version="6.0.0" />
1917
<PackageVersion Include="NativeLibraryLoader" Version="1.0.13" />
20-
<PackageVersion Include="System.Data.SqlClient" Version="4.8.6" />
18+
<PackageVersion Include="System.Data.SqlClient" Version="4.9.0" />
2119
<PackageVersion Include="Xunit.Priority" Version="1.1.6" />
2220
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
2321
<PackageVersion Include="coverlet.msbuild" Version="6.0.2" />
2422
<PackageVersion Include="xunit" Version="2.9.2" />
2523
<PackageVersion Include="xunit.runner.console" Version="2.9.2" />
2624
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
2725
</ItemGroup>
28-
2926
<ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
3027
<PackageVersion Include="Microsoft.Data.Sqlite" Version="6.0.35" />
3128
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
3229
</ItemGroup>
33-
3430
<ItemGroup Condition="$(TargetFramework.StartsWith('netstandard2'))">
35-
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
31+
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.0" />
3632
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="2.1.1" />
3733
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.1.1" />
3834
<PackageVersion Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.1.1" />
@@ -41,10 +37,9 @@
4137
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="2.1.1" />
4238
<PackageVersion Include="Microsoft.Extensions.Http" Version="2.1.1" />
4339
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.1.1" />
44-
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
40+
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.6.0" />
4541
<PackageVersion Include="System.Text.Json" Version="8.0.5" />
4642
</ItemGroup>
47-
4843
<ItemGroup Condition="$(TargetFramework.StartsWith('net8'))">
4944
<PackageVersion Include="Microsoft.Data.Sqlite" Version="8.0.10" />
5045
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
@@ -53,14 +48,12 @@
5348
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.0" />
5449
<PackageVersion Include="System.Text.Json" Version="8.0.5" />
5550
</ItemGroup>
56-
5751
<ItemGroup Condition="$(TargetFramework.StartsWith('net9'))">
58-
<PackageVersion Include="Microsoft.Data.Sqlite" Version="9.0.0-rc.2.24474.1" />
59-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0-rc.2.24473.5" />
60-
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.0-rc.2.24473.5" />
61-
<PackageVersion Include="Microsoft.Extensions.Http" Version="9.0.0-rc.2.24473.5" />
62-
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.0-rc.2.24473.5" />
63-
<PackageVersion Include="System.Text.Json" Version="9.0.0-rc.2.24473.5" />
52+
<PackageVersion Include="Microsoft.Data.Sqlite" Version="9.0.0" />
53+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />
54+
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.0" />
55+
<PackageVersion Include="Microsoft.Extensions.Http" Version="9.0.0" />
56+
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.0" />
57+
<PackageVersion Include="System.Text.Json" Version="9.0.0" />
6458
</ItemGroup>
65-
66-
</Project>
59+
</Project>

testenvironments.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
{
1010
"name": "Docker-Ubuntu",
1111
"type": "docker",
12-
"dockerImage": "gimlichael/ubuntu-testrunner:net6.0.427-net8.0.403-9.0.100-rc.2.24474.11"
12+
"dockerImage": "gimlichael/ubuntu-testrunner:net8.0.404-9.0.100"
1313
}
1414
]
1515
}

0 commit comments

Comments
 (0)