Skip to content

Commit a9c0d89

Browse files
authored
V0.1.5/service update (#8)
⬆️ update project properties for benchmarks and tooling ⬆️ update docker image version for ubuntu test runner ⬆️ update nginx and docfx versions in Dockerfile ✨ add copilot instructions for writing unit and performance tests ⬆️ update availability to .NET 10 in release notes ✨ add new ci pipeline configuration for classlibrary1 📝 update copilot instructions for unit tests and benchmarks
1 parent 9363826 commit a9c0d89

File tree

7 files changed

+648
-35
lines changed

7 files changed

+648
-35
lines changed

.docfx/Dockerfile.docfx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
FROM --platform=$BUILDPLATFORM nginx:1.27.5-alpine AS base
1+
ARG NGINX_VERSION=1.29.3-alpine
2+
3+
FROM --platform=$BUILDPLATFORM nginx:${NGINX_VERSION} AS base
24
RUN rm -rf /usr/share/nginx/html/*
35

4-
FROM --platform=$BUILDPLATFORM codebeltnet/docfx:2.78.3 AS build
6+
FROM --platform=$BUILDPLATFORM codebeltnet/docfx:2.78.4 AS build
57

68
ADD [".", "docfx"]
79

810
RUN cd docfx; \
911
docfx build
1012

11-
FROM nginx:1.27.5-alpine AS final
13+
FROM nginx:${NGINX_VERSION} AS final
1214
WORKDIR /usr/share/nginx/html
1315
COPY --from=build /build/docfx/wwwroot /usr/share/nginx/html
1416

.github/copilot-instructions.md

Lines changed: 579 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
1-
name: ClassLibrary1 CI/CD Pipeline
1+
name: ClassLibrary1 CI Pipeline
22
on:
33
pull_request:
44
branches: [main]
5-
paths-ignore:
6-
- .codecov/**
7-
- .docfx/**
8-
- .nuget/**
9-
- '**/*.md'
105
workflow_dispatch:
116
inputs:
127
configuration:
@@ -18,13 +13,16 @@ on:
1813
- Debug
1914
- Release
2015

16+
permissions:
17+
contents: read
18+
2119
jobs:
2220
build:
2321
name: call-build
2422
strategy:
2523
matrix:
2624
configuration: [Debug, Release]
27-
uses: codebeltnet/jobs-dotnet-build/.github/workflows/default.yml@v2
25+
uses: codebeltnet/jobs-dotnet-build/.github/workflows/default.yml@v3
2826
with:
2927
configuration: ${{ matrix.configuration }}
3028
strong-name-key-filename: classlibrary1.snk
@@ -36,7 +34,7 @@ jobs:
3634
strategy:
3735
matrix:
3836
configuration: [Debug, Release]
39-
uses: codebeltnet/jobs-dotnet-pack/.github/workflows/default.yml@v2
37+
uses: codebeltnet/jobs-dotnet-pack/.github/workflows/default.yml@v3
4038
with:
4139
configuration: ${{ matrix.configuration }}
4240
version: ${{ needs.build.outputs.version }}
@@ -47,9 +45,9 @@ jobs:
4745
strategy:
4846
fail-fast: false
4947
matrix:
50-
os: [ubuntu-24.04, windows-2022]
48+
os: [ubuntu-24.04, windows-2025, ubuntu-24-04-arm, windows-11-arm]
5149
configuration: [Debug, Release]
52-
uses: codebeltnet/jobs-dotnet-test/.github/workflows/default.yml@v2
50+
uses: codebeltnet/jobs-dotnet-test/.github/workflows/default.yml@v3
5351
with:
5452
configuration: ${{ matrix.configuration }}
5553
runs-on: ${{ matrix.os }}
@@ -58,10 +56,10 @@ jobs:
5856
sonarcloud:
5957
name: call-sonarcloud
6058
needs: [build, test]
61-
uses: codebeltnet/jobs-sonarcloud/.github/workflows/default.yml@v1
59+
uses: codebeltnet/jobs-sonarcloud/.github/workflows/default.yml@v3
6260
with:
63-
organization: geekle
64-
projectKey: aws-signature-v4
61+
organization: yourorg
62+
projectKey: classlibrary1
6563
version: ${{ needs.build.outputs.version }}
6664
secrets: inherit
6765

@@ -70,13 +68,13 @@ jobs:
7068
needs: [build, test]
7169
uses: codebeltnet/jobs-codecov/.github/workflows/default.yml@v1
7270
with:
73-
repository: codebeltnet/aws-signature-v4
71+
repository: yourorg/classlibrary1
7472
secrets: inherit
7573

7674
codeql:
7775
name: call-codeql
7876
needs: [build, test]
79-
uses: codebeltnet/jobs-codeql/.github/workflows/default.yml@v1
77+
uses: codebeltnet/jobs-codeql/.github/workflows/default.yml@v3
8078
permissions:
8179
security-events: write
8280

.nuget/ClassLibrary1/PackageReleaseNotes.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Version: 0.1.0
2-
Availability: .NET 8
2+
Availability: .NET 10
33

44
# ALM
55
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Directory.Build.props

Lines changed: 44 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
<PropertyGroup>
44
<IsTestProject>$(MSBuildProjectName.EndsWith('Tests'))</IsTestProject>
5+
<IsBenchmarkProject>$(MSBuildProjectName.EndsWith('Benchmarks'))</IsBenchmarkProject>
6+
<IsSourceProject>$(MSBuildProjectDirectory.ToLower().StartsWith('$(MSBuildThisFileDirectory.ToLower())src'))</IsSourceProject>
7+
<IsToolingProject>$(MSBuildProjectDirectory.ToLower().StartsWith('$(MSBuildThisFileDirectory.ToLower())tooling'))</IsToolingProject>
58
<IsLinux>$([MSBuild]::IsOSPlatform('Linux'))</IsLinux>
69
<IsWindows>$([MSBuild]::IsOSPlatform('Windows'))</IsWindows>
710
<IsMainAuthor Condition="'$(EMAIL)' == 'classlibrary1@dot.net'">true</IsMainAuthor>
@@ -14,9 +17,9 @@
1417
<Deterministic>true</Deterministic>
1518
</PropertyGroup>
1619

17-
<PropertyGroup Condition="'$(IsTestProject)' == 'false'">
18-
<TargetFrameworks>net8.0</TargetFrameworks>
19-
<Copyright>Copyright © ClassLibrary1 2024. All rights reserved.</Copyright>
20+
<PropertyGroup Condition="'$(IsSourceProject)' == 'true'">
21+
<TargetFrameworks>net10.0</TargetFrameworks>
22+
<Copyright>Copyright © ClassLibrary1 2025. All rights reserved.</Copyright>
2023
<Authors>ClassLibrary1</Authors>
2124
<Company>ClassLibrary1</Company>
2225
<Product>ClassLibrary1</Product>
@@ -34,43 +37,60 @@
3437
<GenerateDocumentationFile>true</GenerateDocumentationFile>
3538
<SignAssembly Condition="('$(CI)' == 'true' OR '$(IsMainAuthor)' == 'true') AND '$(SkipSignAssembly)' == 'false'">true</SignAssembly>
3639
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)ClassLibrary1.snk</AssemblyOriginatorKeyFile>
37-
<NoWarn>7035,CA2260</NoWarn>
40+
<EnableNETAnalyzers>true</EnableNETAnalyzers>
41+
<AnalysisLevel>latest</AnalysisLevel>
42+
<AnalysisMode>Recommended</AnalysisMode>
43+
<NoWarn>7035,CA2260,S6618</NoWarn>
44+
<MinVerTagPrefix>v</MinVerTagPrefix>
45+
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
3846
</PropertyGroup>
3947

4048
<ItemGroup Condition="'$(NuGetPackageRoot)' != ''">
4149
<SourceRoot Include="$(NuGetPackageRoot)" RepositoryUrl="https://github.com/classlibrary1/ClassLibrary1" />
4250
</ItemGroup>
4351

44-
<ItemGroup Condition="'$(IsTestProject)' == 'false'">
52+
<ItemGroup Condition="'$(IsSourceProject)' == 'true'">
4553
<PackageReference Include="MinVer" PrivateAssets="all" />
4654
<None Include="..\..\.nuget\$(MSBuildProjectName)\icon.png" Pack="true" Visible="false" PackagePath="\" />
4755
<None Include="..\..\.nuget\$(MSBuildProjectName)\README.md" Pack="true" PackagePath="\" />
4856
</ItemGroup>
4957

5058
<PropertyGroup Condition="'$(IsTestProject)' == 'true' AND '$(IsLinux)' == 'true'">
51-
<TargetFrameworks>net8.0</TargetFrameworks>
59+
<TargetFrameworks>net10.0</TargetFrameworks>
5260
</PropertyGroup>
5361

5462
<PropertyGroup Condition="'$(IsTestProject)' == 'true' AND '$(IsWindows)' == 'true'">
55-
<TargetFrameworks>net8.0</TargetFrameworks>
63+
<TargetFrameworks>net10.0</TargetFrameworks>
5664
</PropertyGroup>
5765

5866
<PropertyGroup Condition="'$(IsTestProject)' == 'true'">
5967
<IsPackable>false</IsPackable>
68+
<OutputType>Exe</OutputType>
6069
<RunAnalyzers>false</RunAnalyzers>
6170
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
6271
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
6372
<SonarQubeExclude>true</SonarQubeExclude>
64-
<WarningLevel>0</WarningLevel>
6573
<AnalysisLevel>none</AnalysisLevel>
66-
<NoWarn>NU1701,NETSDK1206</NoWarn>
74+
<NoWarn>NU1701,NU1902,NU1903</NoWarn>
6775
<CheckEolTargetFramework>false</CheckEolTargetFramework>
76+
<NuGetAudit>false</NuGetAudit>
77+
<UseMicrosoftTestingPlatformRunner>true</UseMicrosoftTestingPlatformRunner>
78+
</PropertyGroup>
79+
80+
<PropertyGroup Condition="'$(IsTestProject)' == 'true' AND '$(BuildingInsideVisualStudio)' != 'true'">
81+
<WarningLevel>0</WarningLevel>
82+
</PropertyGroup>
83+
84+
<PropertyGroup Condition="'$(IsToolingProject)' == 'true'">
85+
<IsPackable>false</IsPackable>
86+
<OutputType>Exe</OutputType>
87+
<SonarQubeExclude>true</SonarQubeExclude>
6888
</PropertyGroup>
6989

7090
<ItemGroup Condition="'$(IsTestProject)' == 'true'">
7191
<PackageReference Include="Microsoft.NET.Test.Sdk" />
72-
<PackageReference Include="xunit" />
73-
<PackageReference Include="xunit.runner.console" />
92+
<PackageReference Include="xunit.v3" />
93+
<PackageReference Include="xunit.v3.runner.console" />
7494
<PackageReference Include="xunit.runner.visualstudio" />
7595
<PackageReference Include="coverlet.msbuild">
7696
<PrivateAssets>all</PrivateAssets>
@@ -80,7 +100,19 @@
80100
<PrivateAssets>all</PrivateAssets>
81101
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
82102
</PackageReference>
83-
<PackageReference Include="Codebelt.Extensions.Xunit.App" PrivateAssets="all" />
103+
</ItemGroup>
104+
105+
<ItemGroup Condition="'$(IsTestProject)' == 'true'">
106+
<PackageReference Include="Codebelt.Extensions.Xunit.App" />
107+
</ItemGroup>
108+
109+
<PropertyGroup Condition="'$(IsBenchmarkProject)' == 'true'">
110+
<TargetFrameworks>net10.0</TargetFrameworks>
111+
</PropertyGroup>
112+
113+
<ItemGroup Condition="'$(IsBenchmarkProject)' == 'true'">
114+
<PackageReference Include="BenchmarkDotNet" />
115+
<PackageReference Include="BenchmarkDotNet.Diagnostics.Windows" />
84116
</ItemGroup>
85117

86118
</Project>

Directory.Packages.props

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
44
</PropertyGroup>
55
<ItemGroup>
6+
<PackageVersion Include="BenchmarkDotNet" Version="0.15.6" />
7+
<PackageVersion Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.15.6" />
68
<PackageVersion Include="Codebelt.Extensions.Xunit.App" Version="10.0.1" />
79
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
810
<PackageVersion Include="MinVer" Version="6.0.0" />
911
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
1012
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
11-
<PackageVersion Include="xunit" Version="2.9.3" />
12-
<PackageVersion Include="xunit.runner.console" Version="2.9.3" />
13-
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.0" />
13+
<PackageVersion Include="xunit.v3" Version="3.2.1" />
14+
<PackageVersion Include="xunit.v3.runner.console" Version="3.2.1" />
15+
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
1416
</ItemGroup>
1517
</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:net8.0.409-9.0.300"
12+
"dockerImage": "gimlichael/ubuntu-testrunner:net8.0.416-9.0.307-10.0.100"
1313
}
1414
]
1515
}

0 commit comments

Comments
 (0)