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
5 changes: 5 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ indent_size = 2

# Dotnet code style settings:
[*.{cs,vb}]
tab_width = 4

# Sort using and Import directives with System.* appearing first
dotnet_sort_system_directives_first = true
# Avoid "this." and "Me." if not necessary
Expand Down Expand Up @@ -57,6 +59,9 @@ dotnet_style_require_accessibility_modifiers = omit_if_default:error
# IDE0040: Add accessibility modifiers
dotnet_diagnostic.IDE0040.severity = error

# IDE1100: Error reading content of source file 'Project.TargetFrameworkMoniker' (i.e. from ThisAssembly)
dotnet_diagnostic.IDE1100.severity = none

[*.cs]
# Top-level files are definitely OK
csharp_using_directive_placement = outside_namespace:silent
Expand Down
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# normalize by default
* text=auto encoding=UTF-8
*.sh text eol=lf
*.sbn eol=lf

# These are windows specific files which we may as well ensure are
# always crlf on checkout
Expand Down
35 changes: 35 additions & 0 deletions .github/actions/dotnet/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: ⚙ dotnet
description: Configures dotnet if the repo/org defines the DOTNET custom property

runs:
using: composite
steps:
- name: 🔎 dotnet
id: dotnet
shell: bash
run: |
VERSIONS=$(gh api repos/${{ github.repository }}/properties/values | jq -r '.[] | select(.property_name == "DOTNET") | .value')
# Remove extra whitespace from VERSIONS
VERSIONS=$(echo "$VERSIONS" | tr -s ' ' | tr -d ' ')
# Convert comma-separated to newline-separated
NEWLINE_VERSIONS=$(echo "$VERSIONS" | tr ',' '\n')
# Validate versions
while IFS= read -r version; do
if ! [[ $version =~ ^[0-9]+(\.[0-9]+(\.[0-9]+)?)?(\.x)?$ ]]; then
echo "Error: Invalid version format: $version"
exit 1
fi
done <<< "$NEWLINE_VERSIONS"
# Write multiline output to $GITHUB_OUTPUT
{
echo 'versions<<EOF'
echo "$NEWLINE_VERSIONS"
echo 'EOF'
} >> $GITHUB_OUTPUT

- name: ⚙ dotnet
if: steps.dotnet.outputs.versions != ''
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
${{ steps.dotnet.outputs.versions }}
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ updates:
Extensions:
patterns:
- "Microsoft.Extensions*"
exclude-patterns:
- "Microsoft.Extensions.AI*"
ExtensionsAI:
patterns:
- "Microsoft.Extensions.AI*"
Web:
patterns:
- "Microsoft.AspNetCore*"
Expand All @@ -38,3 +43,6 @@ updates:
ProtoBuf:
patterns:
- "protobuf-*"
Spectre:
patterns:
- "Spectre.Console*"
11 changes: 5 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
MSBUILDTERMINALLOGGER: auto
Configuration: ${{ github.event.inputs.configuration || 'Release' }}
SLEET_FEED_URL: ${{ vars.SLEET_FEED_URL }}

defaults:
run:
Expand Down Expand Up @@ -65,12 +66,7 @@ jobs:
fetch-depth: 0

- name: ⚙ dotnet
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.x
8.x
9.x
uses: devlooped/actions-dotnet-env@v1

- name: 🙏 build
run: dotnet build -m:1 -bl:build.binlog
Expand Down Expand Up @@ -104,6 +100,9 @@ jobs:
submodules: recursive
fetch-depth: 0

- name: ⚙ dotnet
uses: devlooped/actions-dotnet-env@v1

- name: ✓ ensure format
run: |
dotnet format whitespace --verify-no-changes -v:diag --exclude ~/.nuget
Expand Down
44 changes: 44 additions & 0 deletions .github/workflows/dotnet-env.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: dotnet-env
on:
workflow_dispatch:
push:
branches:
- main
paths:
- '**/*.*proj'

jobs:
which-dotnet:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write

steps:
- name: 🤖 defaults
uses: devlooped/actions-bot@v1
with:
name: ${{ secrets.BOT_NAME }}
email: ${{ secrets.BOT_EMAIL }}
gh_token: ${{ secrets.GH_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN }}

- name: 🤘 checkout
uses: actions/checkout@v4
with:
token: ${{ env.GH_TOKEN }}

- name: 🤌 dotnet
uses: devlooped/actions-which-dotnet@v1

- name: ✍ pull request
uses: peter-evans/create-pull-request@v7
with:
base: main
branch: which-dotnet
delete-branch: true
labels: dependencies
title: "⚙ Update dotnet versions"
body: "Update dotnet versions"
commit-message: "Update dotnet versions"
token: ${{ env.GH_TOKEN }}
7 changes: 6 additions & 1 deletion .github/workflows/dotnet-file.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,10 @@ env:

jobs:
run:
permissions:
contents: write
uses: devlooped/oss/.github/workflows/dotnet-file-core.yml@main
secrets: inherit
secrets:
BOT_NAME: ${{ secrets.BOT_NAME }}
BOT_EMAIL: ${{ secrets.BOT_EMAIL }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
26 changes: 23 additions & 3 deletions .github/workflows/includes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ on:
branches:
- 'main'
paths:
- '**.md'
- '**.md'
- '!changelog.md'
- 'osmfeula.txt'

jobs:
includes:
Expand All @@ -31,14 +32,33 @@ jobs:
- name: +Mᐁ includes
uses: devlooped/actions-includes@v1

- name: 📝 OSMF EULA
shell: pwsh
run: |
$file = "osmfeula.txt"
$props = "src/Directory.Build.props"
if (-not (test-path $file) -or -not (test-path $props)) {
exit 0
}

$product = dotnet msbuild $props -getproperty:Product
if (-not $product) {
write-error 'To use OSMF EULA, ensure the $(Product) property is set in Directory.props'
exit 1
}

((get-content -raw $file) -replace '\$product\$',$product).trim() | set-content $file

- name: ✍ pull request
uses: peter-evans/create-pull-request@v6
with:
add-paths: '**.md'
add-paths: |
**.md
osmfeula.txt
base: main
branch: markdown-includes
delete-branch: true
labels: docs
labels: dependencies
author: ${{ env.BOT_AUTHOR }}
committer: ${{ env.BOT_AUTHOR }}
commit-message: +Mᐁ includes
Expand Down
10 changes: 3 additions & 7 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ env:
VersionLabel: ${{ github.ref }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
MSBUILDTERMINALLOGGER: auto

SLEET_FEED_URL: https://api.nuget.org/v3/index.json

jobs:
publish:
runs-on: ${{ vars.PUBLISH_AGENT || 'ubuntu-latest' }}
Expand All @@ -27,12 +28,7 @@ jobs:
fetch-depth: 0

- name: ⚙ dotnet
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.x
8.x
9.x
uses: devlooped/actions-dotnet-env@v1

- name: 🙏 build
run: dotnet build -m:1 -bl:build.binlog
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ BenchmarkDotNet.Artifacts
.genaiscript
.idea
local.settings.json
.env

*.suo
*.sdf
Expand Down
54 changes: 32 additions & 22 deletions .netconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,23 @@
skip
[file ".editorconfig"]
url = https://github.com/devlooped/oss/blob/main/.editorconfig
sha = e81ab754b366d52d92bd69b24bef1d5b1c610634
etag = 7298c6450967975a8782b5c74f3071e1910fc59686e48f9c9d5cd7c68213cf59
sha = a62c45934ac2952f2f5d54d8aea4a7ebc1babaff
etag = b5e919b472a52d4b522f86494f0f2c0ba74a6d9601454e20e4cbaf744317ff62
weak
[file ".gitattributes"]
url = https://github.com/devlooped/oss/blob/main/.gitattributes
sha = 5f92a68e302bae675b394ef343114139c075993e
etag = 338ba6d92c8d1774363396739c2be4257bfc58026f4b0fe92cb0ae4460e1eff7
sha = 4a9aa321c4982b83c185cf8dffed181ff84667d5
etag = 09cad18280ed04b67f7f87591e5481510df04d44c3403231b8af885664d8fd58
weak
[file ".github/dependabot.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/dependabot.yml
sha = 49661dbf0720cde93eb5569be7523b5912351560
etag = c147ea2f3431ca0338c315c4a45b56ee233c4d30f8d6ab698d0e1980a257fd6a
sha = e733294084fb3e75d517a2e961e87df8faae7dc6
etag = 3bf8d9214a15c049ca5cfe80d212a8cbe4753b8a638a9804ef73d34c7def9618
weak
[file ".github/workflows/build.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/build.yml
sha = 06e898ccba692566ebf845fa7c8833ac6c318c0a
etag = 0a4b3f0a875cd8c9434742b4046558aecf610d3fa3d490cfd2099266e95e9195
sha = 56c2b8532c2f86235a0f5bd00ba6eba126f199cf
etag = bf99c19427f4372ecfe38ec56aa8c411058684fb717da5661f17ac00388b3602
weak
[file ".github/workflows/changelog.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/changelog.yml
Expand All @@ -40,18 +40,18 @@
weak
[file ".github/workflows/dotnet-file.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/dotnet-file.yml
sha = 59aaf432369b5ea597831d4feec5a6ac4024c2e3
etag = 1374e3f8c9b7af69c443605c03f7262300dcb7d783738d9eb9fe84268ed2d10c
sha = 8fa147d4799d73819040736c399d0b1db2c2d86c
etag = 1ca805a23656e99c03f9d478dba8ccef6e571f5de2ac0e9bb7e3c5216c99a694
weak
[file ".github/workflows/publish.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/publish.yml
sha = 06e898ccba692566ebf845fa7c8833ac6c318c0a
etag = 2f64f75ad01f735fd05290370fb8a826111ac8dd7e74ce04226bb627a54a62ba
sha = 56c2b8532c2f86235a0f5bd00ba6eba126f199cf
etag = 2ef43521627aa3a91dd55bdc2856ec0c6a93b42485d4fe9d6b181f9ee42c8e18
weak
[file ".gitignore"]
url = https://github.com/devlooped/oss/blob/main/.gitignore
sha = e0be248fff1d39133345283b8227372b36574b75
etag = c449ec6f76803e1891357ca2b8b4fcb5b2e5deeff8311622fd92ca9fbf1e6575
sha = 3776526342afb3f57da7e80f2095e5fdca3c31c9
etag = 11767f73556aa4c6c8bcc153b77ee8e8114f99fa3b885b0a7d66d082f91e77b3
weak
[file "Directory.Build.rsp"]
url = https://github.com/devlooped/oss/blob/main/Directory.Build.rsp
Expand All @@ -60,8 +60,8 @@
weak
[file "_config.yml"]
url = https://github.com/devlooped/oss/blob/main/_config.yml
sha = fa83a5161ba52bc5d510ce0ba75ee0b1f8d4bc63
etag = 9139148f845adf503fd3c3c140eb64421fc476a1f9c027fc50825c0efb05f557
sha = 68b409c486842062e0de0e5b11e6fdb7cd12d6e2
etag = d608aa0ddaedc2d8a87260f50756e8d8314964ad4671b76bd085bcb458757010
weak
[file "assets/css/style.scss"]
url = https://github.com/devlooped/oss/blob/main/assets/css/style.scss
Expand All @@ -75,13 +75,13 @@
weak
[file "src/Directory.Build.props"]
url = https://github.com/devlooped/oss/blob/main/src/Directory.Build.props
sha = 2fff747a9673b499c99f2da183cdd5263fdc9333
etag = 0fccddf04f282fe98122ab2610dc2972c205a521254559bf013655c6271b0017
sha = 95b338b9780de6b8ed11f060fed2d300f136ec60
etag = 5e73ffebd7aef6fecae5a73d4fb044bf46f3a593ee2858ff1648d9c337e546ad
weak
[file "src/Directory.Build.targets"]
url = https://github.com/devlooped/oss/blob/main/src/Directory.Build.targets
sha = a8b208093599263b7f2d1fe3854634c588ea5199
etag = 19087699f05396205e6b050d999a43b175bd242f6e8fac86f6df936310178b03
sha = 4339749ef4b8f66def75931df09ef99c149f8421
etag = 8b4492765755c030c4c351e058a92f53ab493cab440c1c0ef431f6635c4dae0e
weak
[file "src/kzu.snk"]
url = https://github.com/devlooped/oss/blob/main/src/kzu.snk
Expand All @@ -100,8 +100,8 @@
weak
[file ".github/workflows/includes.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/includes.yml
sha = 85829f2510f335f4a411867f3dbaaa116c3ab3de
etag = 086f6b6316cc6ea7089c0dcc6980be519e6ed6e6201e65042ef41b82634ec0ee
sha = 2d1fb4ed52b63689f2b20b994512ebac28721243
etag = 34ade86f020dea717c6a27ad7dcd0069c35be2832c58b0ba961278a1efe34089
weak
[file "src/nuget.config"]
url = https://github.com/devlooped/oss/blob/main/src/nuget.config
Expand All @@ -125,3 +125,13 @@
sha = 33000c0c4ab4eb4e0e142fa54515b811a189d55c
etag = 013a47739e348f06891f37c45164478cca149854e6cd5c5158e6f073f852b61a
weak
[file ".github/actions/dotnet/action.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/actions/dotnet/action.yml
sha = f2b690ce307acb76c5b8d7faec1a5b971a93653e
etag = 27ea11baa2397b3ec9e643a935832da97719c4e44215cfd135c49cad4c29373f
weak
[file ".github/workflows/dotnet-env.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/dotnet-env.yml
sha = 77e83f238196d2723640abef0c7b6f43994f9747
etag = fcb9759a96966df40dcd24906fd328ddec05953b7e747a6bb8d0d1e4c3865274
weak
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
theme: jekyll-theme-slate

exclude: [ 'src/', '*.sln', 'Gemfile*', '*.rsp' ]
exclude: [ 'src/', '*.sln', '*.slnx', 'Gemfile*', '*.rsp' ]
Loading
Loading