Skip to content

Commit a858f5e

Browse files
Merge branch 'main' into SequenceVerification
2 parents d1fa884 + d31084a commit a858f5e

31 files changed

Lines changed: 320 additions & 289 deletions

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# normalize by default
22
* text=auto encoding=UTF-8
33
*.sh text eol=lf
4+
*.sbn eol=lf
45

56
# These are windows specific files which we may as well ensure are
67
# always crlf on checkout

.github/actions/dotnet/action.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: ⚙ dotnet
2+
description: Configures dotnet if the repo/org defines the DOTNET custom property
3+
4+
runs:
5+
using: composite
6+
steps:
7+
- name: 🔎 dotnet
8+
id: dotnet
9+
shell: bash
10+
run: |
11+
if [ -f .github/workflows/dotnet.json ]; then
12+
VERSIONS=$(jq -r '.[]' .github/workflows/dotnet.json)
13+
else
14+
VERSIONS=$(gh api repos/${{ github.repository }}/properties/values | jq -r '[.[] | select(.property_name == "DOTNET") | .value] | join(",") | split(",")[] | gsub("^\\s+|\\s+$"; "")')
15+
fi
16+
# Write multiline output to $GITHUB_OUTPUT
17+
{
18+
echo 'versions<<EOF'
19+
echo "$VERSIONS"
20+
echo 'EOF'
21+
} >> $GITHUB_OUTPUT
22+
23+
- name: ⚙ dotnet
24+
if: steps.dotnet.outputs.versions != ''
25+
uses: actions/setup-dotnet@v4
26+
with:
27+
dotnet-version: |
28+
${{ steps.dotnet.outputs.versions }}

.github/dependabot.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,6 @@ updates:
3838
ProtoBuf:
3939
patterns:
4040
- "protobuf-*"
41+
Spectre:
42+
patterns:
43+
- "Spectre.Console*"

.github/workflows/build.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ env:
2828
GH_TOKEN: ${{ secrets.GH_TOKEN }}
2929
MSBUILDTERMINALLOGGER: auto
3030
Configuration: ${{ github.event.inputs.configuration || 'Release' }}
31+
SLEET_FEED_URL: ${{ vars.SLEET_FEED_URL }}
3132

3233
defaults:
3334
run:
@@ -64,6 +65,9 @@ jobs:
6465
submodules: recursive
6566
fetch-depth: 0
6667

68+
- name: ⚙ dotnet
69+
uses: ./.github/actions/dotnet
70+
6771
- name: 🙏 build
6872
run: dotnet build -m:1 -bl:build.binlog
6973

@@ -73,7 +77,7 @@ jobs:
7377
dotnet retest -- --no-build
7478
7579
- name: 🐛 logs
76-
uses: actions/upload-artifact@v3
80+
uses: actions/upload-artifact@v4
7781
if: runner.debug && always()
7882
with:
7983
name: logs
@@ -96,6 +100,14 @@ jobs:
96100
submodules: recursive
97101
fetch-depth: 0
98102

103+
- name: ⚙ dotnet
104+
uses: actions/setup-dotnet@v4
105+
with:
106+
dotnet-version: |
107+
6.x
108+
8.x
109+
9.x
110+
99111
- name: ✓ ensure format
100112
run: |
101113
dotnet format whitespace --verify-no-changes -v:diag --exclude ~/.nuget

.github/workflows/dotnet-file.yml

Lines changed: 8 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -11,77 +11,11 @@ env:
1111
DOTNET_NOLOGO: true
1212

1313
jobs:
14-
sync:
15-
runs-on: windows-latest
16-
continue-on-error: true
17-
steps:
18-
- name: 🤖 defaults
19-
uses: devlooped/actions-bot@v1
20-
with:
21-
name: ${{ secrets.BOT_NAME }}
22-
email: ${{ secrets.BOT_EMAIL }}
23-
gh_token: ${{ secrets.GH_TOKEN }}
24-
github_token: ${{ secrets.GITHUB_TOKEN }}
25-
26-
- name: 🤘 checkout
27-
uses: actions/checkout@v4
28-
with:
29-
fetch-depth: 0
30-
ref: main
31-
token: ${{ env.GH_TOKEN }}
32-
33-
- name: ⌛ rate
34-
shell: pwsh
35-
if: github.event_name != 'workflow_dispatch'
36-
run: |
37-
# add random sleep since we run on fixed schedule
38-
sleep (get-random -max 60)
39-
# get currently authenticated user rate limit info
40-
$rate = gh api rate_limit | convertfrom-json | select -expandproperty rate
41-
# if we don't have at least 100 requests left, wait until reset
42-
if ($rate.remaining -lt 10) {
43-
$wait = ($rate.reset - (Get-Date (Get-Date).ToUniversalTime() -UFormat %s))
44-
echo "Rate limit remaining is $($rate.remaining), waiting for $($wait / 1000) seconds to reset"
45-
sleep $wait
46-
$rate = gh api rate_limit | convertfrom-json | select -expandproperty rate
47-
echo "Rate limit has reset to $($rate.remaining) requests"
48-
}
49-
50-
- name: 🔄 sync
51-
shell: pwsh
52-
run: |
53-
dotnet tool update -g dotnet-gcm
54-
dotnet gcm store --protocol=https --host=github.com --username=$env:GITHUB_ACTOR --password=$env:GH_TOKEN
55-
gh auth status
56-
57-
dotnet tool update -g dotnet-file
58-
dotnet file sync -c:$env:TEMP\dotnet-file.md
59-
if (test-path $env:TEMP\dotnet-file.md) {
60-
echo 'CHANGES<<EOF' >> $env:GITHUB_ENV
61-
cat $env:TEMP\dotnet-file.md >> $env:GITHUB_ENV
62-
echo 'EOF' >> $env:GITHUB_ENV
63-
cat $env:TEMP\dotnet-file.md
64-
} else {
65-
echo 'No changelog was generated'
66-
}
67-
68-
- name: +Mᐁ includes
69-
uses: devlooped/actions-include@v1
70-
with:
71-
validate: false
72-
73-
- name: ✍ pull request
74-
uses: peter-evans/create-pull-request@v6
75-
with:
76-
base: main
77-
branch: dotnet-file-sync
78-
delete-branch: true
79-
labels: dependencies
80-
author: ${{ env.BOT_AUTHOR }}
81-
committer: ${{ env.BOT_AUTHOR }}
82-
commit-message: ⬆️ Bump files with dotnet-file sync
83-
84-
${{ env.CHANGES }}
85-
title: "⬆️ Bump files with dotnet-file sync"
86-
body: ${{ env.CHANGES }}
87-
token: ${{ env.GH_TOKEN }}
14+
run:
15+
permissions:
16+
contents: write
17+
uses: devlooped/oss/.github/workflows/dotnet-file-core.yml@main
18+
secrets:
19+
BOT_NAME: ${{ secrets.BOT_NAME }}
20+
BOT_EMAIL: ${{ secrets.BOT_EMAIL }}
21+
GH_TOKEN: ${{ secrets.GH_TOKEN }}

.github/workflows/dotnet.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[
2+
"6.x",
3+
"8.x",
4+
"9.x"
5+
]

.github/workflows/includes.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ on:
1111
jobs:
1212
includes:
1313
runs-on: ubuntu-latest
14+
permissions:
15+
contents: write
16+
pull-requests: write
1417
steps:
1518
- name: 🤖 defaults
1619
uses: devlooped/actions-bot@v1

.github/workflows/publish.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ env:
1515
VersionLabel: ${{ github.ref }}
1616
GH_TOKEN: ${{ secrets.GH_TOKEN }}
1717
MSBUILDTERMINALLOGGER: auto
18-
18+
SLEET_FEED_URL: https://api.nuget.org/v3/index.json
19+
1920
jobs:
2021
publish:
2122
runs-on: ${{ vars.PUBLISH_AGENT || 'ubuntu-latest' }}
@@ -26,6 +27,9 @@ jobs:
2627
submodules: recursive
2728
fetch-depth: 0
2829

30+
- name: ⚙ dotnet
31+
uses: ./.github/actions/dotnet
32+
2933
- name: 🙏 build
3034
run: dotnet build -m:1 -bl:build.binlog
3135

@@ -35,7 +39,7 @@ jobs:
3539
dotnet retest -- --no-build
3640
3741
- name: 🐛 logs
38-
uses: actions/upload-artifact@v3
42+
uses: actions/upload-artifact@v4
3943
if: runner.debug && always()
4044
with:
4145
name: logs

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ BenchmarkDotNet.Artifacts
88
/app
99
.vs
1010
.vscode
11+
.genaiscript
1112
.idea
1213
local.settings.json
1314

.netconfig

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
skip
66
[file ".github/workflows/includes.yml"]
77
url = https://github.com/devlooped/oss/blob/main/.github/workflows/includes.yml
8-
sha = d152e7437fd0d6f6d9363d23cb3b78c07335ea49
9-
etag = ec40db34f379d0c6d83b2ec15624f330318a172cc4f85b5417c63e86eaf601df
8+
sha = 85829f2510f335f4a411867f3dbaaa116c3ab3de
9+
etag = 086f6b6316cc6ea7089c0dcc6980be519e6ed6e6201e65042ef41b82634ec0ee
1010
weak
1111
[file ".github/workflows/dotnet-file.yml"]
1212
url = https://github.com/devlooped/oss/blob/main/.github/workflows/dotnet-file.yml
13-
sha = 7afe350f7e80a230e922db026d4e1198ba15cae1
14-
etag = 65e9794df6caff779eb989c8f71ddf4d4109b24a75af79e4f8d0fe6ba7bd9702
13+
sha = 8fa147d4799d73819040736c399d0b1db2c2d86c
14+
etag = 1ca805a23656e99c03f9d478dba8ccef6e571f5de2ac0e9bb7e3c5216c99a694
1515
weak
1616
[file ".github/FUNDING.yml"]
1717
url = https://github.com/devlooped/.github/blob/main/.github/FUNDING.yml
@@ -28,14 +28,14 @@
2828
weak
2929
[file ".gitattributes"]
3030
url = https://github.com/devlooped/oss/blob/main/.gitattributes
31-
sha = 5f92a68e302bae675b394ef343114139c075993e
31+
sha = 4a9aa321c4982b83c185cf8dffed181ff84667d5
3232

33-
etag = 338ba6d92c8d1774363396739c2be4257bfc58026f4b0fe92cb0ae4460e1eff7
33+
etag = 09cad18280ed04b67f7f87591e5481510df04d44c3403231b8af885664d8fd58
3434
weak
3535
[file ".github/dependabot.yml"]
3636
url = https://github.com/devlooped/oss/blob/main/.github/dependabot.yml
37-
sha = 49661dbf0720cde93eb5569be7523b5912351560
38-
etag = c147ea2f3431ca0338c315c4a45b56ee233c4d30f8d6ab698d0e1980a257fd6a
37+
sha = 917ff5486e25bec90038e7ab6d146fd82c61f846
38+
etag = 50bf50df5a6eeb1705baea50f4c6e06d167a89cb5a590887ff939bd4120bd442
3939
weak
4040
[file ".github/release.yml"]
4141
url = https://github.com/devlooped/oss/blob/main/.github/release.yml
@@ -45,9 +45,9 @@
4545
weak
4646
[file ".github/workflows/build.yml"]
4747
url = https://github.com/devlooped/oss/blob/main/.github/workflows/build.yml
48-
sha = 5e17ad62ebb5241555a7a4d29e3ab15e5ba120d2
48+
sha = 08c70776943839f73dbea2e65355108747468508
4949

50-
etag = f358acb1e45596bf0aad49996017da44939de30b805289c4ad205a7ccb6f99cb
50+
etag = fb2e91cdc9fb7a4d3e8f698e525816c5d8febb35b005c278eecca8056e78f809
5151
weak
5252
[file ".github/workflows/changelog.config"]
5353
url = https://github.com/devlooped/oss/blob/main/.github/workflows/changelog.config
@@ -66,14 +66,14 @@
6666
weak
6767
[file ".github/workflows/publish.yml"]
6868
url = https://github.com/devlooped/oss/blob/main/.github/workflows/publish.yml
69-
sha = 5e17ad62ebb5241555a7a4d29e3ab15e5ba120d2
69+
sha = 08c70776943839f73dbea2e65355108747468508
7070

71-
etag = 2cc96046d8f28e7cbcde89ed56d3d89e1a70fb0de7846ee1827bee66b7dfbcf1
71+
etag = 722a2c7cb3a42bc24ca7fb48d2e9a336641ed0599418239e24efbafccf64bd50
7272
weak
7373
[file ".gitignore"]
7474
url = https://github.com/devlooped/oss/blob/main/.gitignore
75-
sha = 02811fa23b0a102b9b33048335d41e515bf75737
76-
etag = a9c37ae312afac14b78436a7d018af4483d88736b5f780576f2c5a0b3f14998c
75+
sha = e0be248fff1d39133345283b8227372b36574b75
76+
etag = c449ec6f76803e1891357ca2b8b4fcb5b2e5deeff8311622fd92ca9fbf1e6575
7777
weak
7878
[file "Directory.Build.rsp"]
7979
url = https://github.com/devlooped/oss/blob/main/Directory.Build.rsp
@@ -95,8 +95,8 @@
9595
skip
9696
[file "src/Directory.Build.props"]
9797
url = https://github.com/devlooped/oss/blob/main/src/Directory.Build.props
98-
sha = b76de49afb376aa48eb172963ed70663b59b31d3
99-
etag = c8b56f3860cc7ccb8773b7bd6189f5c7a6e3a2c27e9104c1ee201fbdc5af9873
98+
sha = 2fff747a9673b499c99f2da183cdd5263fdc9333
99+
etag = 0fccddf04f282fe98122ab2610dc2972c205a521254559bf013655c6271b0017
100100
weak
101101
[file "src/Directory.Build.targets"]
102102
url = https://github.com/devlooped/oss/blob/main/src/Directory.Build.targets
@@ -115,3 +115,11 @@
115115
sha = 33000c0c4ab4eb4e0e142fa54515b811a189d55c
116116
etag = 013a47739e348f06891f37c45164478cca149854e6cd5c5158e6f073f852b61a
117117
weak
118+
[file ".github/workflows/dotnet-file-core.yml"]
119+
url = https://github.com/devlooped/oss/blob/main/.github/workflows/dotnet-file-core.yml
120+
skip
121+
[file ".github/actions/dotnet/action.yml"]
122+
url = https://github.com/devlooped/oss/blob/main/.github/actions/dotnet/action.yml
123+
sha = f2b690ce307acb76c5b8d7faec1a5b971a93653e
124+
etag = 27ea11baa2397b3ec9e643a935832da97719c4e44215cfd135c49cad4c29373f
125+
weak

0 commit comments

Comments
 (0)