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
3 changes: 3 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ updates:
Web:
patterns:
- "Microsoft.AspNetCore*"
OpenTelemetry:
patterns:
- "OpenTelemetry*"
Tests:
patterns:
- "Microsoft.NET.Test*"
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
- Release
- Debug
push:
branches: [ main, dev, 'dev/*', 'feature/*', 'rel/*' ]
branches: [ main, 'feature/*', 'rel/*' ]
paths-ignore:
- changelog.md
- readme.md
Expand Down Expand Up @@ -72,9 +72,8 @@ jobs:
run: dotnet build -m:1 -bl:build.binlog

- name: 🧪 test
run: |
dotnet tool update -g dotnet-retest
dotnet retest -- --no-build
shell: pwsh
run: dnx --yes retest -- --no-build

- name: 🐛 logs
uses: actions/upload-artifact@v4
Expand Down
96 changes: 52 additions & 44 deletions .github/workflows/dotnet-env.yml
Original file line number Diff line number Diff line change
@@ -1,44 +1,52 @@
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 }}
name: dotnet-env
on:
workflow_dispatch:
push:
branches:
- main
paths:
- '**/*.*proj'

jobs:
which-dotnet:
runs-on: ubuntu-latest
env:
PR_TOKEN: ${{ secrets.DEVLOOPED_TOKEN || secrets.GH_TOKEN }}
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: ${{ env.PR_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN }}

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

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

- name: ✍ pull request
if: env.PR_TOKEN != ''
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.PR_TOKEN }}

- name: ⚠️ skip pull request
if: env.PR_TOKEN == ''
shell: bash
run: echo "::warning::Skipping PR creation because neither DEVLOOPED_TOKEN nor GH_TOKEN is configured. GITHUB_TOKEN cannot create pull requests in this repository."
44 changes: 36 additions & 8 deletions .github/workflows/includes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,15 @@ on:
branches:
- 'main'
paths:
- '**.md'
- '**.md'
- '!changelog.md'
- 'osmfeula.txt'

jobs:
includes:
runs-on: ubuntu-latest
env:
PR_TOKEN: ${{ secrets.DEVLOOPED_TOKEN || secrets.GH_TOKEN }}
permissions:
contents: write
pull-requests: write
Expand All @@ -20,28 +23,53 @@ jobs:
with:
name: ${{ secrets.BOT_NAME }}
email: ${{ secrets.BOT_EMAIL }}
gh_token: ${{ secrets.GH_TOKEN }}
gh_token: ${{ env.PR_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN }}

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

- name: +Mᐁ includes
uses: devlooped/actions-includes@v1
uses: devlooped/actions-includes@v2

- 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
if: env.PR_TOKEN != ''
uses: peter-evans/create-pull-request@v8
with:
add-paths: '**.md'
add-paths: |
**.md
*.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
title: +Mᐁ includes
body: +Mᐁ includes
token: ${{ env.GH_TOKEN }}
token: ${{ env.PR_TOKEN }}

- name: ⚠️ skip pull request
if: env.PR_TOKEN == ''
shell: bash
run: echo "::warning::Skipping PR creation because neither DEVLOOPED_TOKEN nor GH_TOKEN is configured. GITHUB_TOKEN cannot create pull requests in this repository."
17 changes: 13 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ env:
Configuration: Release
PackOnBuild: true
GeneratePackageOnBuild: true
VersionLabel: ${{ github.ref }}
VersionLabel: refs/tags/${{ github.event.release.tag_name }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
MSBUILDTERMINALLOGGER: auto
SLEET_FEED_URL: https://api.nuget.org/v3/index.json
Expand All @@ -34,9 +34,8 @@ jobs:
run: dotnet build -m:1 -bl:build.binlog

- name: 🧪 test
run: |
dotnet tool update -g dotnet-retest
dotnet retest -- --no-build
shell: pwsh
run: dnx --yes retest -- --no-build

- name: 🐛 logs
uses: actions/upload-artifact@v4
Expand All @@ -45,6 +44,16 @@ jobs:
name: logs
path: '*.binlog'

- name: ✅ validate
shell: pwsh
working-directory: bin
run: |
$invalid = Get-ChildItem -File -Filter "*.42.42*.nupkg"
if ($invalid) {
Write-Error "Found dev/local packages with disallowed 42.42* version prefix:`n$($invalid.Name -join "`n")"
exit 1
}

- name: 🚀 nuget
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,24 @@
bin
obj
out
artifacts
pack
agent-tools
terminals
TestResults
results
BenchmarkDotNet.Artifacts
mcps
/app
/temp
.vs
.vscode
.genaiscript
.idea
local.settings.json
.env
.next
*.local

*.suo
*.sdf
Expand All @@ -25,6 +32,7 @@ local.settings.json
*.binlog
*.zip
__azurite*.*
AzuriteConfig
__*__

.nuget
Expand Down
59 changes: 43 additions & 16 deletions .netconfig
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[file ".gitignore"]
url = https://github.com/devlooped/oss/blob/main/.gitignore
sha = 3776526342afb3f57da7e80f2095e5fdca3c31c9
sha = ff61659751374b95c7a8a0477c908a8119f756f0

etag = 11767f73556aa4c6c8bcc153b77ee8e8114f99fa3b885b0a7d66d082f91e77b3
etag = e5865f083db45081a7b4eaa518018971b34e6ef93f917ac510dea96d27f792b3
weak
[file "license.txt"]
url = https://github.com/devlooped/oss/blob/main/license.txt
Expand All @@ -12,21 +12,21 @@
weak
[file "src/Directory.Build.props"]
url = https://github.com/devlooped/oss/tree/main/src/Directory.Build.props
sha = 81d972fd0760c244d134dae7f4b17d6c43cb004a
sha = 6e2438919e108aeb75106dc0737c45f5e55d5f42

etag = 1368697c1521e465a1dea88b93787b1c7def441c37d62afc903fb8d07179e4f6
etag = f1d6384abf18d8d891ce5e835a10c73fe029c42151374be96d7e4af43d189c65
weak
[file "src/Directory.Build.targets"]
url = https://github.com/devlooped/oss/tree/main/src/Directory.Build.targets
sha = a8b208093599263b7f2d1fe3854634c588ea5199
sha = dcd5f0a9a00a5b0c23d41a71dcc66ea41dc5f75d

etag = 19087699f05396205e6b050d999a43b175bd242f6e8fac86f6df936310178b03
etag = 2cca66d8a1adbae24dc2efee53a55fa09949242eb35b86c5fd66425da18c6107
weak
[file ".github/dependabot.yml"]
url = https://github.com/devlooped/oss/tree/main/.github/dependabot.yml
sha = e733294084fb3e75d517a2e961e87df8faae7dc6
sha = 387f0616b2c56adc4f33f2858da818f7e0d92ef3

etag = 3bf8d9214a15c049ca5cfe80d212a8cbe4753b8a638a9804ef73d34c7def9618
etag = a1aaba1440e5ee2a7b7f93fc0fb004d4e1d4d9780350c753f7c429e37241345a
weak
[file ".github/release.yml"]
url = https://github.com/devlooped/oss/tree/main/.github/release.yml
Expand All @@ -42,30 +42,57 @@
weak
[file ".github/workflows/includes.yml"]
url = https://github.com/devlooped/oss/tree/main/.github/workflows/includes.yml
sha = 85829f2510f335f4a411867f3dbaaa116c3ab3de
sha = d571412f07b0fb3c40023dc906f64906d7ed2b46

etag = 086f6b6316cc6ea7089c0dcc6980be519e6ed6e6201e65042ef41b82634ec0ee
etag = ab627107749577bb619b024aff93027359b66b4c3f5a85a36b235e428387cd17
weak
[file ".github/workflows/build.yml"]
url = https://github.com/devlooped/oss/tree/main/.github/workflows/build.yml
sha = 56c2b8532c2f86235a0f5bd00ba6eba126f199cf
sha = 5da103cfbc1c4f9b5f59cfa698d2afbd744a7525

etag = bf99c19427f4372ecfe38ec56aa8c411058684fb717da5661f17ac00388b3602
etag = 851af098748f7cfa5bc3cfd4cc404a6de930532b59ceb2b3b535282c41226f3a
weak
[file ".github/workflows/publish.yml"]
url = https://github.com/devlooped/oss/tree/main/.github/workflows/publish.yml
sha = 56c2b8532c2f86235a0f5bd00ba6eba126f199cf
sha = 0ca5fd11125cd10c51b4433a86917c06ff1ae839

etag = 2ef43521627aa3a91dd55bdc2856ec0c6a93b42485d4fe9d6b181f9ee42c8e18
etag = ac46ffdcef820bbc6bd32378aef25ff79713196e0a5696791abb3a804e06e4d8
weak
[file ".github/workflows/dotnet-env.yml"]
url = https://github.com/devlooped/oss/tree/main/.github/workflows/dotnet-env.yml
sha = 77e83f238196d2723640abef0c7b6f43994f9747
sha = 7c1c6e615b5785e0ac9db33cb17343d6c1de16ff

etag = fcb9759a96966df40dcd24906fd328ddec05953b7e747a6bb8d0d1e4c3865274
etag = 68c1e28f475ff9d05f985bf53a51fce6e64b24a8b75bd8e47119ff57309281f1
weak
[file "src/Smith/Extensions/System/Throw.cs"]
url = https://github.com/devlooped/catbag/blob/main/System/Throw.cs
sha = 3012d56be7554c483e5c5d277144c063969cada9
etag = 43c81c6c6dcdf5baee40a9e3edc5e871e473e6c954c901b82bb87a3a48888ea0
weak
[file ".netconfig"]
url = https://github.com/devlooped/oss/blob/main/.netconfig
skip
[file "readme.md"]
url = https://github.com/devlooped/oss/blob/main/readme.md
skip
[file "readme.tmp.md"]
url = https://github.com/devlooped/oss/blob/main/readme.tmp.md
skip
[file "oss.cs"]
url = https://github.com/devlooped/oss/blob/main/oss.cs
skip
[file "Directory.Build.rsp"]
url = https://github.com/devlooped/oss/blob/main/Directory.Build.rsp
skip
[file "src/kzu.snk"]
url = https://github.com/devlooped/oss/blob/main/src/kzu.snk
skip
[file ".github/workflows/combine-prs.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/combine-prs.yml
skip
[file ".github/workflows/dotnet-file-core.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/dotnet-file-core.yml
skip
[file ".github/actions/dotnet/action.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/actions/dotnet/action.yml
skip
Loading
Loading