66 workflow_dispatch :
77 push :
88 branches : [ main, dev, 'feature/*', 'rel/*' ]
9+ paths-ignore :
10+ - changelog.md
11+ - code-of-conduct.md
12+ - security.md
13+ - support.md
914 pull_request :
1015 types : [opened, synchronize, reopened]
1116
@@ -26,41 +31,51 @@ jobs:
2631 submodules : recursive
2732 fetch-depth : 0
2833
34+ - name : ⚙ dotnet
35+ uses : actions/setup-dotnet@v1
36+ with :
37+ dotnet-version : ' 6.0.x'
38+
2939 - name : ✓ ensure format
3040 run : |
31- dotnet tool update -g dotnet-format --version 5.0.*
3241 dotnet restore
33- dotnet format --check -v:diag
42+ dotnet format --verify-no-changes -v:diag
3443
3544 build :
3645 name : build-${{ matrix.os }}
3746 needs : dotnet-format
3847 runs-on : ${{ matrix.os }}
3948 strategy :
4049 matrix :
41- os : [ubuntu -latest, windows -latest, macOS-latest]
50+ os : [windows -latest, ubuntu -latest, macOS-latest]
4251 steps :
4352 - name : 🤘 checkout
4453 uses : actions/checkout@v2
4554 with :
4655 submodules : recursive
4756 fetch-depth : 0
4857
58+ - name : ⚙ dotnet
59+ uses : actions/setup-dotnet@v1
60+ if : matrix.os != 'windows-latest'
61+ with :
62+ dotnet-version : ' 6.0.x'
63+
4964 - name : 🙏 build
50- run : dotnet build -m:1 -bl:build.binlog -p:VersionLabel="$GITHUB_REF.$GITHUB_RUN_NUMBER" -p:RepositoryBranch=${GITHUB_REF#refs/*/}
65+ run : dotnet build -m:1 -p:VersionLabel="$GITHUB_REF.$GITHUB_RUN_NUMBER"
66+
67+ - name : ⚙ GNU grep
68+ if : matrix.os == 'macOS-latest'
69+ run : |
70+ brew install grep
71+ echo 'export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"' >> .bash_profile
5172
5273 - name : 🧪 test
53- run : dotnet test --no-build -m:1 --blame-hang --blame-hang-timeout 5m -d $GITHUB_WORKSPACE/logs/${{ matrix.os }}.txt -r $GITHUB_WORKSPACE/logs
74+ uses : ./.github/workflows/test
5475
5576 - name : 📦 pack
56- run : dotnet pack -m:1 -bl:pack.binlog - p:VersionLabel="$GITHUB_REF.$GITHUB_RUN_NUMBER" -p:RepositoryBranch=${GITHUB_REF#refs/*/}
77+ run : dotnet pack -m:1 -p:VersionLabel="$GITHUB_REF.$GITHUB_RUN_NUMBER"
5778
58- - name : 🔼 packages
59- uses : actions/upload-artifact@v2
60- with :
61- name : bin
62- path : bin/*.nupkg
63-
6479 # Only push CI package to sleet feed if building on ubuntu (fastest)
6580 - name : 🚀 sleet
6681 env :
6984 run : |
7085 dotnet tool install -g --version 4.0.18 sleet
7186 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-
73- acceptance :
74- name : acceptance-${{ matrix.os }}
75- runs-on : ${{ matrix.os }}
76- needs : build
77- strategy :
78- matrix :
79- os : [ubuntu-latest, windows-latest, macOS-latest]
80- steps :
81- - name : 🤘 checkout
82- uses : actions/checkout@v2
83-
84- - name : 🔽 packages
85- uses : actions/download-artifact@v2
86- with :
87- name : bin
88- path : bin
89-
90- - name : 🧪 test
91- run : dotnet test -p:VersionLabel="$GITHUB_REF.$GITHUB_RUN_NUMBER"
92- working-directory : src/Acceptance
93-
94- preview :
95- defaults :
96- run :
97- shell : pwsh
98- needs : dotnet-format
99- runs-on : windows-latest
100-
101- steps :
102- - name : 🤘 checkout
103- uses : actions/checkout@v2
104-
105- # > VS Preview
106- - name : 🔽 dotnet-vs
107- run : dotnet tool update -g dotnet-vs
108- - name : 🔽 vs preview
109- run : vs install preview --quiet +Microsoft.VisualStudio.Component.ManagedDesktop.Core +Microsoft.NetCore.Component.DevelopmentTools
110- - name : ≥ msbuild
111- run : echo "$(vs where preview --prop=InstallationPath)\MSBuild\Current\Bin" >> $env:GITHUB_PATH
112- # < VS Preview
113-
114- - name : ⚙ curl
115- run : |
116- iwr -useb get.scoop.sh | iex
117- scoop install curl
118- - name : 🔍 status for PR
119- if : ${{ github.event.pull_request.head.sha }}
120- run : echo "STATUS_SHA=${{ github.event.pull_request.head.sha }}" >> $env:GITHUB_ENV
121-
122- - name : 🔍 status for branch
123- if : ${{ !github.event.pull_request.head.sha }}
124- run : echo "STATUS_SHA=$($env:GITHUB_SHA)" >> $env:GITHUB_ENV
125-
126- - name : ⌛ wait on build
127- env :
128- CHECK : build-windows-latest
129- SHA : ${{ env.STATUS_SHA }}
130- TOKEN : ${{ secrets.GITHUB_TOKEN }}
131- run : ./.github/workflows/wait-status.ps1
132-
133- - name : ⌛ wait on acceptance
134- env :
135- CHECK : acceptance-windows-latest
136- SHA : ${{ env.STATUS_SHA }}
137- TOKEN : ${{ secrets.GITHUB_TOKEN }}
138- run : ./.github/workflows/wait-status.ps1
139-
140- - name : 🔽 packages
141- uses : actions/download-artifact@v2
142- with :
143- name : bin
144- path : bin
145-
146- - name : 🧪 test
147- run : msbuild -r -t:build,test -p:TargetFramework=net472 -p:VersionLabel="$($env:GITHUB_REF).$($env:GITHUB_RUN_NUMBER)"
148- working-directory : src/Acceptance
0 commit comments