44name : build
55on :
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
1822env :
1923 DOTNET_NOLOGO : true
20- VersionPrefix : 42.42.${{ github.run_number }}
21- VersionLabel : ${{ github.ref }}
2224 PackOnBuild : true
2325 GeneratePackageOnBuild : true
24-
26+ VersionPrefix : 42.42.${{ github.run_number }}
27+ VersionLabel : ${{ github.ref }}
28+ GH_TOKEN : ${{ secrets.GH_TOKEN }}
29+ MSBUILDTERMINALLOGGER : auto
30+ Configuration : ${{ github.event.inputs.configuration || 'Release' }}
31+ SLEET_FEED_URL : ${{ vars.SLEET_FEED_URL }}
32+
2533defaults :
2634 run :
2735 shell : bash
3341 matrix : ${{ steps.lookup.outputs.matrix }}
3442 steps :
3543 - name : 🤘 checkout
36- uses : actions/checkout@v2
44+ uses : actions/checkout@v4
3745
3846 - name : 🔎 lookup
3947 id : lookup
@@ -52,41 +60,49 @@ jobs:
5260 os : ${{ fromJSON(needs.os-matrix.outputs.matrix) }}
5361 steps :
5462 - name : 🤘 checkout
55- uses : actions/checkout@v2
63+ uses : actions/checkout@v4
5664 with :
5765 submodules : recursive
5866 fetch-depth : 0
5967
68+ - name : ⚙ dotnet
69+ uses : devlooped/actions-dotnet-env@v1
70+
6071 - name : 🙏 build
61- run : dotnet build -m:1
72+ run : dotnet build -m:1 -bl:build.binlog
6273
63- - name : ⚙ GNU grep
64- if : matrix.os == 'macOS-latest'
74+ - name : 🧪 test
6575 run : |
66- brew install grep
67- echo 'export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"' >> .bash_profile
76+ dotnet tool update -g dotnet-retest
77+ dotnet retest -- --no-build
6878
69- - name : 🧪 test
70- uses : ./.github/workflows/test
79+ - name : 🐛 logs
80+ uses : actions/upload-artifact@v4
81+ if : runner.debug && always()
82+ with :
83+ name : logs
84+ path : ' *.binlog'
7185
72- # Only push CI package to sleet feed if building on ubuntu (fastest)
7386 - name : 🚀 sleet
7487 env :
7588 SLEET_CONNECTION : ${{ secrets.SLEET_CONNECTION }}
7689 if : env.SLEET_CONNECTION != ''
7790 run : |
78- dotnet tool install -g --version 4.0.18 sleet
91+ dotnet tool update sleet -g --allow-downgrade -- version $(curl -s --compressed ${{ vars.SLEET_FEED_URL }} | jq '.[" sleet:version"]' -r)
7992 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"
8093
8194 dotnet-format :
8295 runs-on : ubuntu-latest
8396 steps :
8497 - name : 🤘 checkout
85- uses : actions/checkout@v2
98+ uses : actions/checkout@v4
8699 with :
87100 submodules : recursive
88101 fetch-depth : 0
89102
103+ - name : ⚙ dotnet
104+ uses : devlooped/actions-dotnet-env@v1
105+
90106 - name : ✓ ensure format
91107 run : |
92108 dotnet format whitespace --verify-no-changes -v:diag --exclude ~/.nuget
0 commit comments