Skip to content
Open
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
2 changes: 1 addition & 1 deletion .bot/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ This folder is reserved for local-only AI working material such as:
- design alternatives
- temporary agent state

Keep this folder out of source control. Move only finalized, non-confidential guidance into `AGENTS.md`.
The `.bot/README.md` file itself is intentionally tracked in source control. All other `.bot/` working material remains local-only and excluded from source control. Move only finalized, non-confidential guidance into `AGENTS.md`.
2 changes: 1 addition & 1 deletion .docfx/BuildDocfxImage.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$version = minver -i -t v -v w
$version = minver -i -t v -v w
docfx metadata docfx.json
docker buildx build -t sharedkernel-docfx:$version --platform linux/arm64,linux/amd64 --load -f Dockerfile.docfx .
get-childItem -recurse -path api -include *.yml, .manifest | remove-item
4 changes: 2 additions & 2 deletions .docfx/filterConfig.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiRules:
apiRules:
- exclude:
uidRegex: ^System\.Object
type: Type
type: Type
2 changes: 1 addition & 1 deletion .docfx/includes/availability-modern.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Availability: .NET 10 and .NET 9
Availability: .NET 10 and .NET 11
2 changes: 2 additions & 0 deletions .docfx/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ server {
# cached permanently because changed content is published under a different URL.
location ~ "^/public/.+-[A-Z0-9]{8}(?:-[A-Z0-9]{8})?(?:\.min)?\.(?:(?:css|js)(?:\.map)?|woff2?)$" {
try_files $uri =404;
# Range errors are generated after headers are set, so serve complete assets.
max_ranges 0;
add_header Cache-Control $fingerprinted_asset_cache_control always;
add_header Vary "Accept-Encoding" always;
}
Expand Down
2 changes: 1 addition & 1 deletion .docfx/templates/shared-kernel/layout/_master.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -137,4 +137,4 @@
<script async src="https://context7.com/widget.js" data-library="/codebeltnet/shared-kernel"></script>
</body>
{{/redirect_url}}
</html>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@
<h4><xref uid="{{uid}}" altProperty="fullName" displayProperty="name"/></h4>
<section>{{{summary}}}</section>
{{/children}}
{{/children}}
{{/children}}
2 changes: 1 addition & 1 deletion .docfx/templates/shared-kernel/public/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ export default {
title: 'GitHub'
}
]
}
}
7 changes: 4 additions & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ dotnet_diagnostic.IDE0063.severity = none
dotnet_diagnostic.IDE0071.severity = none

# S3267: Loops should be simplified with "LINQ" expressions
# https://rules.sonarsource.com/csharp/RSPEC-3267
# https://sonarcloud.io/organizations/sonarcloud/rules?open=csharpsquid:S3267&rule_key=csharpsquid:S3267
dotnet_diagnostic.S3267.severity = none

# CA1859: Use concrete types when possible for improved performance
Expand All @@ -57,9 +57,10 @@ indent_size = 4

# IDE0161: Namespace declaration preferences
# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0161
# Prefer file-scoped namespaces for new files; existing block-scoped files should not be converted unless explicitly asked
# File-scoped namespaces are mandatory for new and existing C# files.
[*.cs]
csharp_style_namespace_declarations = file_scoped:suggestion
csharp_style_namespace_declarations = file_scoped:error
dotnet_diagnostic.IDE0161.severity = error

# Top-level statements: DO NOT USE
# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0210-ide0211
Expand Down
8 changes: 4 additions & 4 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
* text=auto eol=lf

###############################################################################
# Set default behavior for command prompt diff.
Expand All @@ -17,7 +17,7 @@
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
Expand Down Expand Up @@ -46,9 +46,9 @@

###############################################################################
# diff behavior for common document formats
#
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
Expand Down
4 changes: 2 additions & 2 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Contributor Covenant Code of Conduct
# Contributor Covenant Code of Conduct

This document is adapted from the Contributor Covenant which is used by many open source projects,
including those under the [.NET Foundation](https://dotnetfoundation.org/code-of-conduct).
Expand Down Expand Up @@ -132,4 +132,4 @@ at [https://www.contributor-covenant.org/translations][translations].
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
[translations]: https://www.contributor-covenant.org/translations
7 changes: 4 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This repository is part of the Codebelt .NET library estate. The instructions be
## Before you start

- Read the repository `README.md` and open an issue before starting a non-trivial feature or behavioral change.
- Use an installed .NET SDK that can build the target frameworks listed below. This repository currently targets: **net10.0, net9.0**.
- Use an installed .NET SDK that can build the target frameworks listed below. This repository currently targets: **net10.0, net11.0**.
- The solution is `Codebelt.SharedKernel.slnx`. Central package versions are maintained in `Directory.Packages.props`.
- The shared build behavior is in `Directory.Build.props` and `Directory.Build.targets`; repository-specific TFMs, package references and metadata remain local to this library.

Expand Down Expand Up @@ -43,8 +43,9 @@ The CI test plan currently runs **1** project(s) and excludes **0** project(s).

## Integration and infrastructure

- `WSL-Ubuntu` — WSL distribution `Ubuntu-24.04`.
- `Docker-Ubuntu` — Docker image `codebeltnet/ubuntu-testrunner:8-9-10-11`.
- `WSL-Ubuntu` — WSL distribution `Ubuntu-26.04`.
- `Docker-Ubuntu (net10.0)` — Docker image `codebeltnet/ubuntu-testrunner:10`.
- `Docker-Ubuntu (net11.0)` — Docker image `codebeltnet/ubuntu-testrunner:11`.

This repository has no repository-local `docker-compose.yml` service dependency in the current checkout.
Use the environments declared in `testenvironments.json` when you need the estate test runner.
Expand Down
2 changes: 1 addition & 1 deletion .github/codecov.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ignore:
- "test"
- "test"
164 changes: 0 additions & 164 deletions .github/prompts/benchmark.prompt.md

This file was deleted.

18 changes: 13 additions & 5 deletions .github/workflows/ci-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ permissions:
jobs:
init:
name: initialize
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04
outputs:
run-mac-tests: ${{ steps.vars.outputs.run-mac-tests }}
run-privileged-jobs: ${{ steps.vars.outputs.run-privileged-jobs }}
Expand Down Expand Up @@ -60,9 +60,10 @@ jobs:
uses: codebeltnet/jobs-dotnet-build/.github/workflows/default.yml@v3
with:
configuration: ${{ matrix.configuration }}
include-preview: true
strong-name-key-filename: ${{ needs.init.outputs.strong-name-key-filename }}
build-switches: ${{ needs.init.outputs.build-switches }}
runs-on: ${{ matrix.arch == 'ARM64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
runs-on: ${{ matrix.arch == 'ARM64' && 'ubuntu-26.04-arm' || 'ubuntu-26.04' }}
upload-build-artifact-name: build-${{ matrix.configuration }}-${{ matrix.arch }}
secrets: inherit

Expand All @@ -75,6 +76,7 @@ jobs:
uses: codebeltnet/jobs-dotnet-pack/.github/workflows/default.yml@v3
with:
configuration: ${{ matrix.configuration }}
include-preview: true
version: ${{ needs.build.outputs.version }}
download-build-artifact-pattern: build-${{ matrix.configuration }}-X64

Expand All @@ -88,8 +90,9 @@ jobs:
configuration: [Debug, Release]
uses: codebeltnet/jobs-dotnet-test/.github/workflows/default.yml@v3
with:
runs-on: ${{ matrix.arch == 'ARM64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
runs-on: ${{ matrix.arch == 'ARM64' && 'ubuntu-26.04-arm' || 'ubuntu-26.04' }}
configuration: ${{ matrix.configuration }}
include-preview: true
build-switches: -p:SkipSignAssembly=true
restore: true
build: true # required for xunitv3
Expand All @@ -107,6 +110,7 @@ jobs:
with:
runs-on: ${{ matrix.arch == 'ARM64' && 'windows-11-arm' || 'windows-2025' }}
configuration: ${{ matrix.configuration }}
include-preview: true
build-switches: -p:SkipSignAssembly=true
restore: true
build: true # required for xunitv3
Expand All @@ -125,6 +129,7 @@ jobs:
with:
runs-on: ${{ matrix.arch == 'ARM64' && 'macos-26' || 'macos-26-intel' }}
configuration: ${{ matrix.configuration }}
include-preview: true
build-switches: -p:SkipSignAssembly=true
restore: true
build: true # required for xunitv3
Expand All @@ -134,7 +139,7 @@ jobs:
if: ${{ always() }}
name: test-qualitygate
needs: [init, test_linux, test_windows, test_mac]
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04
steps:
- name: Evaluate test results
shell: bash
Expand Down Expand Up @@ -180,6 +185,7 @@ jobs:
needs: [init, build, test_qualitygate]
uses: codebeltnet/jobs-sonarcloud/.github/workflows/default.yml@v3
with:
include-preview: true
organization: geekle
projectKey: sharedkernel
version: ${{ needs.build.outputs.version }}
Expand All @@ -193,12 +199,14 @@ jobs:
with:
repository: codebeltnet/shared-kernel
secrets: inherit

codeql:
if: ${{always() && needs.init.outputs.run-privileged-jobs == 'true' && needs.build.result == 'success' && needs.test_qualitygate.result == 'success'}}
name: call-codeql
needs: [init, build, test_qualitygate]
uses: codebeltnet/jobs-codeql/.github/workflows/default.yml@v3
with:
include-preview: true
permissions:
security-events: write

Expand Down
Loading
Loading