Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 02e16fb

Browse files
committedSep 19, 2024·
⬆️ Bump files with dotnet-file sync
# devlooped/oss - Improve triage actions on issues devlooped/oss@33000c0 - Only ignore App folder directly under the root devlooped/oss@02811fa - Add static usings to allow unprefixed ThrowXxxx devlooped/oss@6dfe21f - Add compatibility for non-SDK projects without InitializeSourceControlInformation target devlooped/oss@6e96c59 - Set Version from VersionLabel if it's a refs/tags/ devlooped/oss@57653a2 - Cleanup build and publish to use VersionLabel devlooped/oss@14deaea # clarius/pages
1 parent ead977c commit 02e16fb

19 files changed

+239
-175
lines changed
 

‎.gitattributes

+3-19
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,8 @@
1-
# sln, csproj files (and friends) are always CRLF, even on linux
2-
*.sln text eol=crlf
3-
*.proj text eol=crlf
4-
*.csproj text eol=crlf
1+
# normalize by default
2+
* text=auto encoding=UTF-8
3+
*.sh text eol=lf
54

65
# These are windows specific files which we may as well ensure are
76
# always crlf on checkout
87
*.bat text eol=crlf
98
*.cmd text eol=crlf
10-
11-
# Opt in known filetypes to always normalize line endings on checkin
12-
# and always use native endings on checkout
13-
*.c text
14-
*.config text
15-
*.h text
16-
*.cs text
17-
*.md text
18-
*.tt text
19-
*.txt text
20-
21-
# Some must always be checked out as lf so enforce that for those files
22-
# If these are not lf then bash/cygwin on windows will not be able to
23-
# excute the files
24-
*.sh text eol=lf

‎.github/dependabot.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ updates:
2929
- "Microsoft.AspNetCore*"
3030
Tests:
3131
patterns:
32-
- "Microsoft.NET.Tests*"
32+
- "Microsoft.NET.Test*"
3333
- "xunit*"
3434
- "coverlet*"
3535
ThisAssembly:

‎.github/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ changelog:
88
- invalid
99
- wontfix
1010
- need info
11-
- docs
1211
- techdebt
1312
authors:
1413
- devlooped-bot
@@ -24,6 +23,7 @@ changelog:
2423
- title: 📝 Documentation updates
2524
labels:
2625
- docs
26+
- documentation
2727
- title: 🔨 Other
2828
labels:
2929
- '*'

‎.github/workflows/build.yml

+25-24
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,30 @@
44
name: build
55
on:
66
workflow_dispatch:
7+
inputs:
8+
configuration:
9+
type: choice
10+
description: Configuration
11+
options:
12+
- Release
13+
- Debug
714
push:
815
branches: [ main, dev, 'dev/*', 'feature/*', 'rel/*' ]
916
paths-ignore:
1017
- changelog.md
11-
- code-of-conduct.md
12-
- security.md
13-
- support.md
1418
- readme.md
1519
pull_request:
1620
types: [opened, synchronize, reopened]
1721

1822
env:
1923
DOTNET_NOLOGO: true
24+
PackOnBuild: true
25+
GeneratePackageOnBuild: true
2026
VersionPrefix: 42.42.${{ github.run_number }}
2127
VersionLabel: ${{ github.ref }}
28+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
29+
MSBUILDTERMINALLOGGER: auto
30+
Configuration: ${{ github.event.inputs.configuration || 'Release' }}
2231

2332
defaults:
2433
run:
@@ -31,7 +40,7 @@ jobs:
3140
matrix: ${{ steps.lookup.outputs.matrix }}
3241
steps:
3342
- name: 🤘 checkout
34-
uses: actions/checkout@v2
43+
uses: actions/checkout@v4
3544

3645
- name: 🔎 lookup
3746
id: lookup
@@ -50,34 +59,18 @@ jobs:
5059
os: ${{ fromJSON(needs.os-matrix.outputs.matrix) }}
5160
steps:
5261
- name: 🤘 checkout
53-
uses: actions/checkout@v2
62+
uses: actions/checkout@v4
5463
with:
5564
submodules: recursive
5665
fetch-depth: 0
5766

5867
- name: 🙏 build
5968
run: dotnet build -m:1 -bl:build.binlog
6069

61-
- name: ⚙ GNU grep
62-
if: matrix.os == 'macOS-latest'
63-
run: |
64-
brew install grep
65-
echo 'export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"' >> .bash_profile
66-
6770
- name: 🧪 test
68-
uses: ./.github/workflows/test
69-
70-
- name: 📦 pack
71-
run: dotnet pack -m:1 -bl:pack.binlog
72-
73-
# Only push CI package to sleet feed if building on ubuntu (fastest)
74-
- name: 🚀 sleet
75-
env:
76-
SLEET_CONNECTION: ${{ secrets.SLEET_CONNECTION }}
77-
if: env.SLEET_CONNECTION != ''
7871
run: |
79-
dotnet tool install -g --version 4.0.18 sleet
80-
sleet push bin --config none -f --verbose -p "SLEET_FEED_CONTAINER=nuget" -p "SLEET_FEED_CONNECTIONSTRING=${{ secrets.SLEET_CONNECTION }}" -p "SLEET_FEED_TYPE=azure" || echo "No packages found"
72+
dotnet tool update -g dotnet-retest
73+
dotnet retest -- --no-build
8174
8275
- name: 🐛 logs
8376
uses: actions/upload-artifact@v3
@@ -86,11 +79,19 @@ jobs:
8679
name: logs
8780
path: '*.binlog'
8881

82+
- name: 🚀 sleet
83+
env:
84+
SLEET_CONNECTION: ${{ secrets.SLEET_CONNECTION }}
85+
if: env.SLEET_CONNECTION != ''
86+
run: |
87+
dotnet tool update sleet -g --allow-downgrade --version $(curl -s --compressed ${{ vars.SLEET_FEED_URL }} | jq '.["sleet:version"]' -r)
88+
sleet push bin --config none -f --verbose -p "SLEET_FEED_CONTAINER=nuget" -p "SLEET_FEED_CONNECTIONSTRING=${{ secrets.SLEET_CONNECTION }}" -p "SLEET_FEED_TYPE=azure" || echo "No packages found"
89+
8990
dotnet-format:
9091
runs-on: ubuntu-latest
9192
steps:
9293
- name: 🤘 checkout
93-
uses: actions/checkout@v2
94+
uses: actions/checkout@v4
9495
with:
9596
submodules: recursive
9697
fetch-depth: 0

‎.github/workflows/changelog.config

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
usernames-as-github-logins=true
22
issues_wo_labels=true
33
pr_wo_labels=true
4-
exclude-labels=bydesign,dependencies,duplicate,question,invalid,wontfix,need info,docs
4+
exclude-labels=bydesign,dependencies,duplicate,discussion,question,invalid,wontfix,need info,docs
55
enhancement-label=:sparkles: Implemented enhancements:
66
bugs-label=:bug: Fixed bugs:
77
issues-label=:hammer: Other:

‎.github/workflows/changelog.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
github_token: ${{ secrets.GITHUB_TOKEN }}
1818

1919
- name: 🤘 checkout
20-
uses: actions/checkout@v2
20+
uses: actions/checkout@v4
2121
with:
2222
fetch-depth: 0
2323
ref: main

‎.github/workflows/dotnet-file.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,15 @@ jobs:
2424
github_token: ${{ secrets.GITHUB_TOKEN }}
2525

2626
- name: 🤘 checkout
27-
uses: actions/checkout@v2
27+
uses: actions/checkout@v4
2828
with:
2929
fetch-depth: 0
3030
ref: main
3131
token: ${{ env.GH_TOKEN }}
3232

3333
- name: ⌛ rate
3434
shell: pwsh
35+
if: github.event_name != 'workflow_dispatch'
3536
run: |
3637
# add random sleep since we run on fixed schedule
3738
sleep (get-random -max 60)
@@ -70,7 +71,7 @@ jobs:
7071
validate: false
7172

7273
- name: ✍ pull request
73-
uses: peter-evans/create-pull-request@v4
74+
uses: peter-evans/create-pull-request@v6
7475
with:
7576
base: main
7677
branch: dotnet-file-sync

‎.github/workflows/includes.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,17 @@ jobs:
2121
github_token: ${{ secrets.GITHUB_TOKEN }}
2222

2323
- name: 🤘 checkout
24-
uses: actions/checkout@v2
24+
uses: actions/checkout@v4
2525
with:
2626
token: ${{ env.GH_TOKEN }}
2727

2828
- name: +Mᐁ includes
2929
uses: devlooped/actions-includes@v1
3030

3131
- name: ✍ pull request
32-
uses: peter-evans/create-pull-request@v4
32+
uses: peter-evans/create-pull-request@v6
3333
with:
34+
add-paths: '**.md'
3435
base: main
3536
branch: markdown-includes
3637
delete-branch: true

‎.github/workflows/publish.yml

+29-13
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,53 @@
55
name: publish
66
on:
77
release:
8-
types: [released]
8+
types: [prereleased, released]
99

1010
env:
1111
DOTNET_NOLOGO: true
1212
Configuration: Release
13-
13+
PackOnBuild: true
14+
GeneratePackageOnBuild: true
15+
VersionLabel: ${{ github.ref }}
16+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
17+
MSBUILDTERMINALLOGGER: auto
18+
1419
jobs:
1520
publish:
16-
runs-on: ubuntu-latest
21+
runs-on: ${{ vars.PUBLISH_AGENT || 'ubuntu-latest' }}
1722
steps:
1823
- name: 🤘 checkout
19-
uses: actions/checkout@v2
24+
uses: actions/checkout@v4
2025
with:
2126
submodules: recursive
2227
fetch-depth: 0
2328

2429
- name: 🙏 build
25-
run: dotnet build -m:1 -p:version=${GITHUB_REF#refs/*/v} -bl:build.binlog
30+
run: dotnet build -m:1 -bl:build.binlog
2631

2732
- name: 🧪 test
28-
uses: ./.github/workflows/test
29-
30-
- name: 📦 pack
31-
run: dotnet pack -m:1 -p:version=${GITHUB_REF#refs/*/v} -bl:pack.binlog
32-
33-
- name: 🚀 nuget
34-
run: dotnet nuget push ./bin/**/*.nupkg -s https://api.nuget.org/v3/index.json -k ${{secrets.NUGET_API_KEY}} --skip-duplicate
33+
run: |
34+
dotnet tool update -g dotnet-retest
35+
dotnet retest -- --no-build
3536
3637
- name: 🐛 logs
3738
uses: actions/upload-artifact@v3
3839
if: runner.debug && always()
3940
with:
4041
name: logs
41-
path: '*.binlog'
42+
path: '*.binlog'
43+
44+
- name: 🚀 nuget
45+
env:
46+
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
47+
if: ${{ env.NUGET_API_KEY != '' && github.event.action != 'prereleased' }}
48+
working-directory: bin
49+
run: dotnet nuget push *.nupkg -s https://api.nuget.org/v3/index.json -k ${{secrets.NUGET_API_KEY}} --skip-duplicate
50+
51+
- name: 🚀 sleet
52+
env:
53+
SLEET_CONNECTION: ${{ secrets.SLEET_CONNECTION }}
54+
if: env.SLEET_CONNECTION != ''
55+
run: |
56+
dotnet tool update sleet -g --allow-downgrade --version $(curl -s --compressed ${{ vars.SLEET_FEED_URL }} | jq '.["sleet:version"]' -r)
57+
sleet push bin --config none -f --verbose -p "SLEET_FEED_CONTAINER=nuget" -p "SLEET_FEED_CONNECTIONSTRING=${{ secrets.SLEET_CONNECTION }}" -p "SLEET_FEED_TYPE=azure" || echo "No packages found"

‎.github/workflows/sponsor.yml

-24
This file was deleted.

‎.github/workflows/test/action.yml

-36
This file was deleted.

‎.github/workflows/triage.yml

+103
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
name: 'triage'
2+
on:
3+
schedule:
4+
- cron: '42 0 * * *'
5+
6+
workflow_dispatch:
7+
# Manual triggering through the GitHub UI, API, or CLI
8+
inputs:
9+
daysBeforeClose:
10+
description: "Days before closing stale or need info issues"
11+
required: true
12+
default: "30"
13+
daysBeforeStale:
14+
description: "Days before labeling stale"
15+
required: true
16+
default: "180"
17+
daysSinceClose:
18+
description: "Days since close to lock"
19+
required: true
20+
default: "30"
21+
daysSinceUpdate:
22+
description: "Days since update to lock"
23+
required: true
24+
default: "30"
25+
26+
permissions:
27+
actions: write # For managing the operation state cache
28+
issues: write
29+
contents: read
30+
31+
jobs:
32+
stale:
33+
# Do not run on forks
34+
if: github.repository_owner == 'devlooped'
35+
runs-on: ubuntu-latest
36+
steps:
37+
- name: ⌛ rate
38+
shell: pwsh
39+
if: github.event_name != 'workflow_dispatch'
40+
env:
41+
GH_TOKEN: ${{ secrets.DEVLOOPED_TOKEN }}
42+
run: |
43+
# add random sleep since we run on fixed schedule
44+
$wait = get-random -max 180
45+
echo "Waiting random $wait seconds to start"
46+
sleep $wait
47+
# get currently authenticated user rate limit info
48+
$rate = gh api rate_limit | convertfrom-json | select -expandproperty rate
49+
# if we don't have at least 100 requests left, wait until reset
50+
if ($rate.remaining -lt 100) {
51+
$wait = ($rate.reset - (Get-Date (Get-Date).ToUniversalTime() -UFormat %s))
52+
echo "Rate limit remaining is $($rate.remaining), waiting for $($wait / 1000) seconds to reset"
53+
sleep $wait
54+
$rate = gh api rate_limit | convertfrom-json | select -expandproperty rate
55+
echo "Rate limit has reset to $($rate.remaining) requests"
56+
}
57+
58+
- name: ✏️ stale labeler
59+
# pending merge: https://github.com/actions/stale/pull/1176
60+
uses: kzu/stale@c8450312ba97b204bf37545cb249742144d6ca69
61+
with:
62+
ascending: true # Process the oldest issues first
63+
stale-issue-label: 'stale'
64+
stale-issue-message: |
65+
Due to lack of recent activity, this issue has been labeled as 'stale'.
66+
It will be closed if no further activity occurs within ${{ fromJson(inputs.daysBeforeClose || 30 ) }} more days.
67+
Any new comment will remove the label.
68+
close-issue-message: |
69+
This issue will now be closed since it has been labeled 'stale' without activity for ${{ fromJson(inputs.daysBeforeClose || 30 ) }} days.
70+
days-before-stale: ${{ fromJson(inputs.daysBeforeStale || 180) }}
71+
days-before-close: ${{ fromJson(inputs.daysBeforeClose || 30 ) }}
72+
days-before-pr-close: -1 # Do not close PRs labeled as 'stale'
73+
exempt-all-milestones: true
74+
exempt-all-assignees: true
75+
exempt-issue-labels: priority,sponsor,backed
76+
exempt-authors: kzu
77+
78+
- name: 🤘 checkout actions
79+
uses: actions/checkout@v4
80+
with:
81+
repository: 'microsoft/vscode-github-triage-actions'
82+
ref: v42
83+
84+
- name: ⚙ install actions
85+
run: npm install --production
86+
87+
- name: 🔒 issues locker
88+
uses: ./locker
89+
with:
90+
token: ${{ secrets.DEVLOOPED_TOKEN }}
91+
ignoredLabel: priority
92+
daysSinceClose: ${{ fromJson(inputs.daysSinceClose || 30) }}
93+
daysSinceUpdate: ${{ fromJson(inputs.daysSinceUpdate || 30) }}
94+
95+
- name: 🔒 need info closer
96+
uses: ./needs-more-info-closer
97+
with:
98+
token: ${{ secrets.DEVLOOPED_TOKEN }}
99+
label: 'need info'
100+
closeDays: ${{ fromJson(inputs.daysBeforeClose || 30) }}
101+
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity.\n\nHappy Coding!"
102+
pingDays: 80
103+
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."

‎.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
bin
2-
app
32
obj
43
artifacts
54
pack
65
TestResults
76
results
87
BenchmarkDotNet.Artifacts
8+
/app
99
.vs
1010
.vscode
1111
.idea

‎.netconfig

+33-38
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,20 @@
2222
[file "SponsorLink.sln"]
2323
url = https://github.com/devlooped/oss/blob/main/SponsorLink.sln
2424
skip
25-
[file ".github/workflows/test/action.yml"]
26-
url = https://github.com/devlooped/oss/blob/main/.github/workflows/test/action.yml
27-
sha = 9a1b07589b9bde93bc12528e9325712a32dec418
28-
etag = b54216ac431a83ce5477828d391f02046527e7f6fffd21da1d03324d352c3efb
29-
weak
3025
[file ".github/workflows/changelog.yml"]
3126
url = https://github.com/devlooped/oss/blob/main/.github/workflows/changelog.yml
32-
sha = a4b66eb5f4dfb9704502f19f59ba33cb4855188c
33-
etag = 54c0b571648b1055beb3ddac180b34e93a9869b9f0277de306901b2c1dbe0b2c
27+
sha = 5fb172362c767bef7c36478f1a6bdc264723f8f9
28+
etag = ad1efa56d6024ee1add2bcda81a7e4e38d0e9069473c6ff70374d5ce06af1f5a
3429
weak
3530
[file ".github/dependabot.yml"]
3631
url = https://github.com/devlooped/oss/blob/main/.github/dependabot.yml
37-
sha = 35ca3f3405452465058d89005f8a88a65847c377
38-
etag = f8080f8f04d87529e90d9a66751d304a7141196fb9734aa2d110784e52e66898
32+
sha = 49661dbf0720cde93eb5569be7523b5912351560
33+
etag = c147ea2f3431ca0338c315c4a45b56ee233c4d30f8d6ab698d0e1980a257fd6a
3934
weak
4035
[file ".github/workflows/dotnet-file.yml"]
4136
url = https://github.com/devlooped/oss/blob/main/.github/workflows/dotnet-file.yml
42-
sha = f08c3f28e46e28eb31e70846d65e57aa9553ce56
43-
etag = 567444486383d032c1c5fbc538f07e860f92b1d08c66ac6ffb1db64ca539251c
37+
sha = 7afe350f7e80a230e922db026d4e1198ba15cae1
38+
etag = 65e9794df6caff779eb989c8f71ddf4d4109b24a75af79e4f8d0fe6ba7bd9702
4439
weak
4540
[file "license.txt"]
4641
url = https://github.com/devlooped/oss/blob/main/license.txt
@@ -54,13 +49,13 @@
5449
weak
5550
[file "src/Directory.Build.props"]
5651
url = https://github.com/devlooped/oss/blob/main/src/Directory.Build.props
57-
sha = b1d14c6379e5820eb2c30e08bedbdf6e9c8e8cb2
58-
etag = 33cd19e0f599f444c320406da3452e9e84d28c3bb13c09e9190d9d2e7f129545
52+
sha = b76de49afb376aa48eb172963ed70663b59b31d3
53+
etag = c8b56f3860cc7ccb8773b7bd6189f5c7a6e3a2c27e9104c1ee201fbdc5af9873
5954
weak
6055
[file "src/Directory.Build.targets"]
6156
url = https://github.com/devlooped/oss/blob/main/src/Directory.Build.targets
62-
sha = 1bf1eacc7ac3920d52c8e7045bfa34abc7c05302
63-
etag = 7cb1421f00d9f6f4c00f0ca98e485dcadb927cfa6b3f0b5d4fb212525d2ce9c0
57+
sha = 92631843abefcd4cc56dc7c174ee3880bc06b0f9
58+
etag = 401abade50abc5002231838a9230570604a161b6b914e1a406783deeec4031cc
6459
weak
6560
[file "src/nuget.config"]
6661
url = https://github.com/devlooped/oss/blob/main/src/nuget.config
@@ -72,23 +67,23 @@
7267
weak
7368
[file "Gemfile"]
7469
url = https://github.com/clarius/pages/blob/main/Gemfile
75-
sha = 565a77f40db0863cb47ceb36f88790259a697c91
76-
etag = 24e482e91192e292b633e3c17c4f095286ffb5a041d299d761b2e6ef99ee7669
70+
sha = 90fa16ed0e7300a78a38ee1d23c34a7e875aab27
71+
etag = 3dd7febc8ae6760f19abfe787711f469c288cd803a6f1c545edec34264d48e71
7772
weak
7873
[file ".gitattributes"]
7974
url = https://github.com/devlooped/oss/blob/main/.gitattributes
80-
sha = 0683ee777d7d878d4bf013d7deea352685135a05
81-
etag = 7acb32f5fa6d4ccd9c824605a7c2b8538497f0068c165567807d393dcf4d6bb7
75+
sha = 5f92a68e302bae675b394ef343114139c075993e
76+
etag = 338ba6d92c8d1774363396739c2be4257bfc58026f4b0fe92cb0ae4460e1eff7
8277
weak
8378
[file ".github/workflows/build.yml"]
8479
url = https://github.com/devlooped/oss/blob/main/.github/workflows/build.yml
8580
weak
86-
sha = 13d67e2cf3f786c8189364fd29332aaa7dc575dc
87-
etag = c616df0877fba60002ccfc0397e9f731ddb22acbbb195a0598fedd4cac5f3135
81+
sha = 5e17ad62ebb5241555a7a4d29e3ab15e5ba120d2
82+
etag = f358acb1e45596bf0aad49996017da44939de30b805289c4ad205a7ccb6f99cb
8883
[file ".github/workflows/changelog.config"]
8984
url = https://github.com/devlooped/oss/blob/main/.github/workflows/changelog.config
90-
sha = 055a8b7c94b74ae139cce919d60b83976d2a9942
91-
etag = ddb17acb5872e9e69a76f9dec0ca590f25382caa2ccf750df058dcabb674db2b
85+
sha = 08d83cb510732f861416760d37702f9f55bd7f9e
86+
etag = 556a28914eeeae78ca924b1105726cdaa211af365671831887aec81f5f4301b4
9287
weak
9388
[file ".github/workflows/combine-prs.yml"]
9489
url = https://github.com/devlooped/oss/blob/main/.github/workflows/combine-prs.yml
@@ -97,28 +92,23 @@
9792
weak
9893
[file ".github/workflows/includes.yml"]
9994
url = https://github.com/devlooped/oss/blob/main/.github/workflows/includes.yml
100-
sha = ac753b791d03997eb655efb26ae141b51addd1c0
101-
etag = fcd94a08ac9ebc0e8351deac4e7f085cf8ef67816cc50006e068f44166096eb8
95+
sha = d152e7437fd0d6f6d9363d23cb3b78c07335ea49
96+
etag = ec40db34f379d0c6d83b2ec15624f330318a172cc4f85b5417c63e86eaf601df
10297
weak
10398
[file ".github/workflows/publish.yml"]
10499
url = https://github.com/devlooped/oss/blob/main/.github/workflows/publish.yml
105100
weak
106-
sha = d3022567c9ef2bc9461511e53b8abe065afdf03b
107-
etag = 58601b5a71c805647ab26e84053acdfb8d174eaa93330487af8a5503753c5707
108-
[file ".github/workflows/sponsor.yml"]
109-
url = https://github.com/devlooped/oss/blob/main/.github/workflows/sponsor.yml
110-
sha = 8990ebb36199046e0b8098bad9e46dcef739c56e
111-
etag = e1dc114d2e8b57d50649989d32dbf0c9080ec77da3738a4cc79e9256d6ca5d3e
112-
weak
101+
sha = 5e17ad62ebb5241555a7a4d29e3ab15e5ba120d2
102+
etag = 2cc96046d8f28e7cbcde89ed56d3d89e1a70fb0de7846ee1827bee66b7dfbcf1
113103
[file ".gitignore"]
114104
url = https://github.com/devlooped/oss/blob/main/.gitignore
115-
sha = ef852e7d2ec9a845dac272dfc479909c0bc6d9f3
116-
etag = a556d6108892aa8e7e63476f4fad3a898b3ec1deda94332dd4e89d2fb6b555ca
105+
sha = 02811fa23b0a102b9b33048335d41e515bf75737
106+
etag = a9c37ae312afac14b78436a7d018af4483d88736b5f780576f2c5a0b3f14998c
117107
weak
118108
[file "Directory.Build.rsp"]
119109
url = https://github.com/devlooped/oss/blob/main/Directory.Build.rsp
120-
sha = ae25fae9d7daf0cb47d537ba870914aa3052f0c9
121-
etag = 6a6c6e1d3895df953abf14c82b0899e3eea75cdcd679f6212dcfea15183d73d6
110+
sha = 0f7f7f7e8a29de9b535676f75fe7c67e629a5e8c
111+
etag = 0ccae83fc51f400bfd7058170bfec7aba11455e24a46a0d7e6a358da6486e255
122112
weak
123113
[file "_config.yml"]
124114
url = https://github.com/devlooped/oss/blob/main/_config.yml
@@ -132,6 +122,11 @@
132122
weak
133123
[file ".github/release.yml"]
134124
url = https://github.com/devlooped/oss/blob/main/.github/release.yml
135-
sha = 1afd173fe8f81b510c597737b0d271218e81fa73
136-
etag = 482dc2c892fc7ce0cb3a01eb5d9401bee50ddfb067d8cb85873555ce63cf5438
125+
sha = 0c23e24704625cf75b2cb1fdc566cef7e20af313
126+
etag = 310df162242c95ed19ed12e3c96a65f77e558b46dced676ad5255eb12caafe75
127+
weak
128+
[file ".github/workflows/triage.yml"]
129+
url = https://github.com/devlooped/oss/blob/main/.github/workflows/triage.yml
130+
sha = 33000c0c4ab4eb4e0e142fa54515b811a189d55c
131+
etag = 013a47739e348f06891f37c45164478cca149854e6cd5c5158e6f073f852b61a
137132
weak

‎Directory.Build.rsp

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
-nr:false
33
-m:1
44
-v:m
5-
-clp:Summary;ForceNoAlign
5+
-clp:Summary;ForceNoAlign

‎Gemfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
source 'https://rubygems.org'
22

3-
gem 'github-pages', '~> 209', group: :jekyll_plugins
3+
gem 'github-pages', '~> 231', group: :jekyll_plugins

‎readme.md

+6-7
Original file line numberDiff line numberDiff line change
@@ -438,37 +438,36 @@ The versioning scheme for packages is:
438438
[![Stephen Shaw](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/decriptor.png "Stephen Shaw")](https://github.com/decriptor)
439439
[![Torutek](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/torutek-gh.png "Torutek")](https://github.com/torutek-gh)
440440
[![DRIVE.NET, Inc.](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/drivenet.png "DRIVE.NET, Inc.")](https://github.com/drivenet)
441-
[![Daniel Gnägi](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/dgnaegi.png "Daniel Gnägi")](https://github.com/dgnaegi)
442441
[![Ashley Medway](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/AshleyMedway.png "Ashley Medway")](https://github.com/AshleyMedway)
443442
[![Keith Pickford](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/Keflon.png "Keith Pickford")](https://github.com/Keflon)
444443
[![Thomas Bolon](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/tbolon.png "Thomas Bolon")](https://github.com/tbolon)
445444
[![Kori Francis](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/kfrancis.png "Kori Francis")](https://github.com/kfrancis)
446445
[![Toni Wenzel](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/twenzel.png "Toni Wenzel")](https://github.com/twenzel)
447446
[![Giorgi Dalakishvili](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/Giorgi.png "Giorgi Dalakishvili")](https://github.com/Giorgi)
448-
[![Mike James](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/MikeCodesDotNET.png "Mike James")](https://github.com/MikeCodesDotNET)
447+
[![Uno Platform](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/unoplatform.png "Uno Platform")](https://github.com/unoplatform)
449448
[![Dan Siegel](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/dansiegel.png "Dan Siegel")](https://github.com/dansiegel)
450449
[![Reuben Swartz](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/rbnswartz.png "Reuben Swartz")](https://github.com/rbnswartz)
451450
[![Jacob Foshee](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/jfoshee.png "Jacob Foshee")](https://github.com/jfoshee)
452451
[![](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/Mrxx99.png "")](https://github.com/Mrxx99)
453452
[![Eric Johnson](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/eajhnsn1.png "Eric Johnson")](https://github.com/eajhnsn1)
454-
[![Norman Mackay](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/mackayn.png "Norman Mackay")](https://github.com/mackayn)
455-
[![Certify The Web](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/certifytheweb.png "Certify The Web")](https://github.com/certifytheweb)
456453
[![Ix Technologies B.V.](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/IxTechnologies.png "Ix Technologies B.V.")](https://github.com/IxTechnologies)
457454
[![David JENNI](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/davidjenni.png "David JENNI")](https://github.com/davidjenni)
458455
[![Jonathan ](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/Jonathan-Hickey.png "Jonathan ")](https://github.com/Jonathan-Hickey)
459-
[![Oleg Kyrylchuk](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/okyrylchuk.png "Oleg Kyrylchuk")](https://github.com/okyrylchuk)
460456
[![Charley Wu](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/akunzai.png "Charley Wu")](https://github.com/akunzai)
461457
[![Jakob Tikjøb Andersen](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/jakobt.png "Jakob Tikjøb Andersen")](https://github.com/jakobt)
462458
[![Seann Alexander](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/seanalexander.png "Seann Alexander")](https://github.com/seanalexander)
463459
[![Tino Hager](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/tinohager.png "Tino Hager")](https://github.com/tinohager)
464460
[![Mark Seemann](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/ploeh.png "Mark Seemann")](https://github.com/ploeh)
465-
[![Angelo Belchior](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/angelobelchior.png "Angelo Belchior")](https://github.com/angelobelchior)
466461
[![Ken Bonny](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/KenBonny.png "Ken Bonny")](https://github.com/KenBonny)
467462
[![Simon Cropp](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/SimonCropp.png "Simon Cropp")](https://github.com/SimonCropp)
468463
[![agileworks-eu](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/agileworks-eu.png "agileworks-eu")](https://github.com/agileworks-eu)
469-
[![](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/sorahex.png "")](https://github.com/sorahex)
464+
[![sorahex](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/sorahex.png "sorahex")](https://github.com/sorahex)
470465
[![Zheyu Shen](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/arsdragonfly.png "Zheyu Shen")](https://github.com/arsdragonfly)
471466
[![Vezel](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/vezel-dev.png "Vezel")](https://github.com/vezel-dev)
467+
[![ChilliCream](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/ChilliCream.png "ChilliCream")](https://github.com/ChilliCream)
468+
[![4OTC](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/4OTC.png "4OTC")](https://github.com/4OTC)
469+
[![Vincent Limo](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/v-limo.png "Vincent Limo")](https://github.com/v-limo)
470+
[![Brooke Hamilton](https://raw.githubusercontent.com/devlooped/sponsors/main/.github/avatars/brooke-hamilton.png "Brooke Hamilton")](https://github.com/brooke-hamilton)
472471
473472

474473
<!-- sponsors.md -->

‎src/Directory.Build.props

+15-3
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@
4646

4747
<PropertyGroup Label="Build">
4848
<Configuration Condition="'$(Configuration)' == '' and $(CI)">Release</Configuration>
49-
<GenerateDocumentationFile>true</GenerateDocumentationFile>
50-
<GenerateDocumentationFile Condition="$(MSBuildProjectName.Contains('Tests'))">false</GenerateDocumentationFile>
5149
<LangVersion>Latest</LangVersion>
5250

5351
<!-- See https://docs.microsoft.com/en-us/dotnet/standard/assembly/reference-assemblies -->
@@ -118,6 +116,8 @@
118116

119117
<PropertyGroup Label="Version" Condition="$(VersionLabel) != ''">
120118
<_VersionLabel>$(VersionLabel.Replace('refs/heads/', ''))</_VersionLabel>
119+
<_VersionLabel>$(_VersionLabel.Replace('refs/tags/v', ''))</_VersionLabel>
120+
121121
<!-- For PRs, we just need a fixed package version numbered after the PR # itself, so remove the commits # at the end -->
122122
<_VersionLabel Condition="$(_VersionLabel.Contains('refs/pull/'))">$(VersionLabel.TrimEnd('.0123456789'))</_VersionLabel>
123123
<!-- Next replace the prefix for simply 'pr', so we end up with 'pr99/merge' by default -->
@@ -128,7 +128,9 @@
128128
<_VersionLabel>$(_VersionLabel.Replace('/', '-'))</_VersionLabel>
129129

130130
<!-- Set sanitized version to the actual version suffix used in build/pack -->
131-
<VersionSuffix>$(_VersionLabel)</VersionSuffix>
131+
<VersionSuffix Condition="!$(VersionLabel.Contains('refs/tags/'))">$(_VersionLabel)</VersionSuffix>
132+
<!-- Special case for tags, the label is actually the version. Backs compat since passed-in value overrides MSBuild-set one -->
133+
<Version Condition="$(VersionLabel.Contains('refs/tags/'))">$(_VersionLabel)</Version>
132134
</PropertyGroup>
133135

134136
<ItemGroup Label="ThisAssembly.Project">
@@ -142,6 +144,16 @@
142144
<ProjectProperty Include="PublicKeyToken" />
143145
</ItemGroup>
144146

147+
<ItemGroup Label="Throw">
148+
<Using Include="System.ArgumentException" Static="true" />
149+
<Using Include="System.ArgumentOutOfRangeException" Static="true" />
150+
<Using Include="System.ArgumentNullException" Static="true" />
151+
</ItemGroup>
152+
145153
<Import Project="Directory.props" Condition="Exists('Directory.props')"/>
146154
<Import Project="Directory.props.user" Condition="Exists('Directory.props.user')" />
155+
156+
<!-- Implemented by SDK in .targets, guaranteeing it's overwritten. Added here since we add a DependsOnTargets to it.
157+
Covers backwards compatiblity with non-SDK projects. -->
158+
<Target Name="InitializeSourceControlInformation" />
147159
</Project>

‎src/Directory.Build.targets

+12
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@
44
<PropertyGroup Condition="'$(CI)' == 'true' and '$(Language)' == 'C#'">
55
<DefineConstants>CI;$(DefineConstants)</DefineConstants>
66
</PropertyGroup>
7+
8+
<PropertyGroup Label="Build">
9+
<!-- Tests projects don't need API docs, typically -->
10+
<GenerateDocumentationFile Condition="$(GenerateDocumentationFile) == '' and $(IsTestProject) == 'true'">false</GenerateDocumentationFile>
11+
<GenerateDocumentationFile Condition="$(GenerateDocumentationFile) == '' and $(MSBuildProjectName.Contains('Tests'))">false</GenerateDocumentationFile>
12+
<GenerateDocumentationFile Condition="$(GenerateDocumentationFile) == ''">true</GenerateDocumentationFile>
13+
</PropertyGroup>
714

815
<PropertyGroup Condition="'$(IsPackable)' == ''">
916
<IsPackable Condition="'$(PackAsTool)' == 'true'">true</IsPackable>
@@ -27,23 +34,28 @@
2734

2835
<ItemGroup Condition="'$(IsPackable)' == 'true'" Label="NuGet">
2936
<!-- This is compatible with nugetizer and SDK pack -->
37+
<!-- Only difference is we don't copy either to output directory -->
3038

3139
<!-- Project-level icon/readme will already be part of None items -->
3240
<None Update="@(None -> WithMetadataValue('Filename', 'icon'))"
3341
Pack="true" PackagePath="%(Filename)%(Extension)"
42+
CopyToOutputDirectory="Never"
3443
Condition="'$(PackageIcon)' != ''" />
3544

3645
<None Update="@(None -> WithMetadataValue('Filename', 'readme'))"
3746
Pack="true" PackagePath="%(Filename)%(Extension)"
47+
CopyToOutputDirectory="Never"
3848
Condition="'$(PackReadme)' != 'false' and '$(PackageReadmeFile)' != ''" />
3949

4050
<!-- src-level will need explicit inclusion -->
4151
<None Include="$(MSBuildThisFileDirectory)icon.png" Link="icon.png" Visible="false"
4252
Pack="true" PackagePath="%(Filename)%(Extension)"
53+
CopyToOutputDirectory="Never"
4354
Condition="Exists('$(MSBuildThisFileDirectory)icon.png') and !Exists('$(MSBuildProjectDirectory)\icon.png')" />
4455

4556
<None Include="$(MSBuildThisFileDirectory)readme.md" Link="readme.md"
4657
Pack="true" PackagePath="%(Filename)%(Extension)"
58+
CopyToOutputDirectory="Never"
4759
Condition="'$(PackReadme)' != 'false' and Exists('$(MSBuildThisFileDirectory)readme.md') and !Exists('$(MSBuildProjectDirectory)\readme.md')" />
4860
</ItemGroup>
4961

0 commit comments

Comments
 (0)
Please sign in to comment.