6
6
workflow_dispatch :
7
7
push :
8
8
branches : [ main, dev, 'feature/*', 'rel/*' ]
9
+ paths-ignore :
10
+ - changelog.md
11
+ - code-of-conduct.md
12
+ - security.md
13
+ - support.md
9
14
pull_request :
10
15
types : [opened, synchronize, reopened]
11
16
@@ -26,41 +31,51 @@ jobs:
26
31
submodules : recursive
27
32
fetch-depth : 0
28
33
34
+ - name : ⚙ dotnet
35
+ uses : actions/setup-dotnet@v1
36
+ with :
37
+ dotnet-version : ' 6.0.x'
38
+
29
39
- name : ✓ ensure format
30
40
run : |
31
- dotnet tool update -g dotnet-format --version 5.0.*
32
41
dotnet restore
33
- dotnet format --check -v:diag
42
+ dotnet format --verify-no-changes -v:diag
34
43
35
44
build :
36
45
name : build-${{ matrix.os }}
37
46
needs : dotnet-format
38
47
runs-on : ${{ matrix.os }}
39
48
strategy :
40
49
matrix :
41
- os : [ubuntu-latest, windows -latest, macOS-latest]
50
+ os : [windows-2022, ubuntu -latest, macOS-latest]
42
51
steps :
43
52
- name : 🤘 checkout
44
53
uses : actions/checkout@v2
45
54
with :
46
55
submodules : recursive
47
56
fetch-depth : 0
48
57
58
+ - name : ⚙ dotnet
59
+ uses : actions/setup-dotnet@v1
60
+ if : matrix.os != 'windows-2022'
61
+ with :
62
+ dotnet-version : ' 6.0.x'
63
+
49
64
- 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
51
72
52
73
- 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
54
75
55
76
- 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"
57
78
58
- - name : 🔼 packages
59
- uses : actions/upload-artifact@v2
60
- with :
61
- name : bin
62
- path : bin/*.nupkg
63
-
64
79
# Only push CI package to sleet feed if building on ubuntu (fastest)
65
80
- name : 🚀 sleet
66
81
env :
69
84
run : |
70
85
dotnet tool install -g --version 4.0.18 sleet
71
86
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