Skip to content

Commit 5bc3909

Browse files
committed
⬆️ Bump files with dotnet-file sync
# devlooped/oss - Skip discussion issues when generating changelog devlooped/oss@08d83cb - Switch back to latest stable includes devlooped/oss@875284b - Update typed resgen to opt-in only devlooped/oss@a8b2080 - Make sure all stable versions are available for build/test devlooped/oss@06e898c - Update .gitignore to ignore .genaiscript devlooped/oss@e0be248 - Improve triage actions on issues devlooped/oss@33000c0 - Update to checkout@v4 devlooped/oss@5fb1723 - Point to main for dotnet-file sync workflow devlooped/oss@59aaf43 - Remove -l:trx since it's just for dotnet test, not build devlooped/oss@0f7f7f7 - Simplify .gitattributes devlooped/oss@5f92a68 - Attempt to get necessary permissions for default token devlooped/oss@85829f2 - If we provide a docs category, don't exclude docs :) devlooped/oss@0c23e24 - Improve default value for GenerateDocumentationFile devlooped/oss@b76de49 - Fix dependabot group for tests devlooped/oss@49661db - Update nuget.config with new(ish?) MS certs devlooped/oss@032439d # clarius/pages - Bump github-pages to fix build error clarius/pages@90fa16e
1 parent acc963b commit 5bc3909

20 files changed

+386
-214
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

+34-18
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,40 +59,47 @@ 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

58-
- name: 🙏 build
59-
run: dotnet build -m:1
67+
- name: ⚙ dotnet
68+
uses: actions/setup-dotnet@v4
69+
with:
70+
dotnet-version: |
71+
6.x
72+
8.x
73+
9.x
6074
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
75+
- name: 🙏 build
76+
run: dotnet build -m:1 -bl:build.binlog
6677

6778
- name: 🧪 test
68-
uses: ./.github/workflows/test
79+
run: |
80+
dotnet tool update -g dotnet-retest
81+
dotnet retest -- --no-build
6982
70-
- name: 📦 pack
71-
run: dotnet pack -m:1
83+
- name: 🐛 logs
84+
uses: actions/upload-artifact@v4
85+
if: runner.debug && always()
86+
with:
87+
name: logs
88+
path: '*.binlog'
7289

73-
# Only push CI package to sleet feed if building on ubuntu (fastest)
7490
- name: 🚀 sleet
7591
env:
7692
SLEET_CONNECTION: ${{ secrets.SLEET_CONNECTION }}
7793
if: env.SLEET_CONNECTION != ''
7894
run: |
79-
dotnet tool install -g --version 4.0.18 sleet
95+
dotnet tool update sleet -g --allow-downgrade --version $(curl -s --compressed ${{ vars.SLEET_FEED_URL }} | jq '.["sleet:version"]' -r)
8096
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"
8197
8298
dotnet-format:
8399
runs-on: ubuntu-latest
84100
steps:
85101
- name: 🤘 checkout
86-
uses: actions/checkout@v2
102+
uses: actions/checkout@v4
87103
with:
88104
submodules: recursive
89105
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
+88
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Synchronizes .netconfig-configured files with dotnet-file
2+
name: dotnet-file-core
3+
on:
4+
workflow_call:
5+
6+
env:
7+
DOTNET_NOLOGO: true
8+
9+
defaults:
10+
run:
11+
shell: pwsh
12+
13+
jobs:
14+
sync:
15+
runs-on: ubuntu-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+
if: github.event_name != 'workflow_dispatch'
35+
run: |
36+
# add random sleep since we run on fixed schedule
37+
sleep (get-random -max 60)
38+
# get currently authenticated user rate limit info
39+
$rate = gh api rate_limit | convertfrom-json | select -expandproperty rate
40+
# if we don't have at least 100 requests left, wait until reset
41+
if ($rate.remaining -lt 10) {
42+
$wait = ($rate.reset - (Get-Date (Get-Date).ToUniversalTime() -UFormat %s))
43+
echo "Rate limit remaining is $($rate.remaining), waiting for $($wait / 1000) seconds to reset"
44+
sleep $wait
45+
$rate = gh api rate_limit | convertfrom-json | select -expandproperty rate
46+
echo "Rate limit has reset to $($rate.remaining) requests"
47+
}
48+
49+
- name: 🔄 sync
50+
run: |
51+
dotnet tool update -g dotnet-gcm
52+
# store credentials in plaintext for linux compat
53+
git config --local credential.credentialStore plaintext
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+
$changelog = "$([System.IO.Path]::GetTempPath())dotnet-file.md"
59+
dotnet file sync -c:$changelog
60+
if (test-path $changelog) {
61+
echo 'CHANGES<<EOF' >> $env:GITHUB_ENV
62+
cat $changelog >> $env:GITHUB_ENV
63+
echo 'EOF' >> $env:GITHUB_ENV
64+
cat $changelog
65+
} else {
66+
echo 'No changelog was generated'
67+
}
68+
69+
- name: +Mᐁ includes
70+
uses: devlooped/actions-includes@v1
71+
with:
72+
validate: false
73+
74+
- name: ✍ pull request
75+
uses: peter-evans/create-pull-request@v7
76+
with:
77+
base: main
78+
branch: dotnet-file-sync
79+
delete-branch: true
80+
labels: dependencies
81+
author: ${{ env.BOT_AUTHOR }}
82+
committer: ${{ env.BOT_AUTHOR }}
83+
commit-message: ⬆️ Bump files with dotnet-file sync
84+
85+
${{ env.CHANGES }}
86+
title: "⬆️ Bump files with dotnet-file sync"
87+
body: ${{ env.CHANGES }}
88+
token: ${{ env.GH_TOKEN }}

.github/workflows/includes.yml

+6-2
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
@@ -21,16 +24,17 @@ jobs:
2124
github_token: ${{ secrets.GITHUB_TOKEN }}
2225

2326
- name: 🤘 checkout
24-
uses: actions/checkout@v2
27+
uses: actions/checkout@v4
2528
with:
2629
token: ${{ env.GH_TOKEN }}
2730

2831
- name: +Mᐁ includes
2932
uses: devlooped/actions-includes@v1
3033

3134
- name: ✍ pull request
32-
uses: peter-evans/create-pull-request@v4
35+
uses: peter-evans/create-pull-request@v6
3336
with:
37+
add-paths: '**.md'
3438
base: main
3539
branch: markdown-includes
3640
delete-branch: true

.github/workflows/publish.yml

+40-9
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,61 @@
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

29+
- name: ⚙ dotnet
30+
uses: actions/setup-dotnet@v4
31+
with:
32+
dotnet-version: |
33+
6.x
34+
8.x
35+
9.x
36+
2437
- name: 🙏 build
25-
run: dotnet build -m:1 -p:version=${GITHUB_REF#refs/*/v}
38+
run: dotnet build -m:1 -bl:build.binlog
2639

2740
- name: 🧪 test
28-
uses: ./.github/workflows/test
41+
run: |
42+
dotnet tool update -g dotnet-retest
43+
dotnet retest -- --no-build
2944
30-
- name: 📦 pack
31-
run: dotnet pack -m:1 -p:version=${GITHUB_REF#refs/*/v}
45+
- name: 🐛 logs
46+
uses: actions/upload-artifact@v4
47+
if: runner.debug && always()
48+
with:
49+
name: logs
50+
path: '*.binlog'
3251

3352
- name: 🚀 nuget
34-
run: dotnet nuget push ./bin/**/*.nupkg -s https://api.nuget.org/v3/index.json -k ${{secrets.NUGET_API_KEY}} --skip-duplicate
53+
env:
54+
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
55+
if: ${{ env.NUGET_API_KEY != '' && github.event.action != 'prereleased' }}
56+
working-directory: bin
57+
run: dotnet nuget push *.nupkg -s https://api.nuget.org/v3/index.json -k ${{secrets.NUGET_API_KEY}} --skip-duplicate
58+
59+
- name: 🚀 sleet
60+
env:
61+
SLEET_CONNECTION: ${{ secrets.SLEET_CONNECTION }}
62+
if: env.SLEET_CONNECTION != ''
63+
run: |
64+
dotnet tool update sleet -g --allow-downgrade --version $(curl -s --compressed ${{ vars.SLEET_FEED_URL }} | jq '.["sleet:version"]' -r)
65+
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.

0 commit comments

Comments
 (0)