Skip to content

Commit bb8e982

Browse files
committed
Build tooling updates
1 parent 0d9b34c commit bb8e982

25 files changed

+454
-770
lines changed

.editorconfig

+300-1
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,303 @@ csharp_new_line_before_else = true
7474
csharp_new_line_before_catch = true
7575
csharp_new_line_before_finally = true
7676
csharp_new_line_before_members_in_object_initializers = true
77-
csharp_new_line_before_members_in_anonymous_types = true
77+
csharp_new_line_before_members_in_anonymous_types = true
78+
79+
# Known validation methods, see https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1062?view=vs-2019#null-check-validation-methods
80+
dotnet_code_quality.CA1062.null_check_validation_methods = ThrowIfNull|ThrowIfNullOrEmpty|ThrowIfNullOrWhiteSpace
81+
82+
# These rules represent Dave Glick's preferences and enforce consistent code quality guidelines.
83+
[*.{cs,vb}]
84+
dotnet_diagnostic.CA1020.severity = warning
85+
dotnet_diagnostic.CA1021.severity = warning
86+
dotnet_diagnostic.CA1040.severity = warning
87+
dotnet_diagnostic.CA1045.severity = warning
88+
dotnet_diagnostic.CA1062.severity = warning
89+
dotnet_diagnostic.CA1501.severity = warning
90+
dotnet_diagnostic.CA1504.severity = warning
91+
dotnet_diagnostic.CA1505.severity = warning
92+
dotnet_diagnostic.CA1506.severity = none
93+
dotnet_diagnostic.CA1700.severity = warning
94+
dotnet_diagnostic.CA1701.severity = warning
95+
dotnet_diagnostic.CA1702.severity = warning
96+
dotnet_diagnostic.CA1703.severity = warning
97+
dotnet_diagnostic.CA1704.severity = warning
98+
dotnet_diagnostic.CA1707.severity = warning
99+
dotnet_diagnostic.CA1709.severity = warning
100+
dotnet_diagnostic.CA1710.severity = warning
101+
dotnet_diagnostic.CA1711.severity = warning
102+
dotnet_diagnostic.CA1712.severity = warning
103+
dotnet_diagnostic.CA1713.severity = warning
104+
dotnet_diagnostic.CA1714.severity = warning
105+
dotnet_diagnostic.CA1715.severity = warning
106+
dotnet_diagnostic.CA1717.severity = warning
107+
dotnet_diagnostic.CA1719.severity = warning
108+
dotnet_diagnostic.CA1720.severity = warning
109+
dotnet_diagnostic.CA1721.severity = warning
110+
dotnet_diagnostic.CA1722.severity = warning
111+
dotnet_diagnostic.CA1724.severity = none
112+
dotnet_diagnostic.CA1725.severity = warning
113+
dotnet_diagnostic.CA1726.severity = warning
114+
dotnet_diagnostic.CA2204.severity = warning
115+
dotnet_diagnostic.CS1591.severity = none
116+
dotnet_diagnostic.IDE0007.severity = none
117+
dotnet_diagnostic.IDE0007WithoutSuggestion.severity = none
118+
dotnet_diagnostic.IDE0008.severity = warning
119+
dotnet_diagnostic.RCS1001.severity = suggestion
120+
dotnet_diagnostic.RCS1002.severity = none
121+
dotnet_diagnostic.RCS1003.severity = suggestion
122+
dotnet_diagnostic.RCS1004.severity = none
123+
dotnet_diagnostic.RCS1005.severity = silent
124+
dotnet_diagnostic.RCS1006.severity = silent
125+
dotnet_diagnostic.RCS1007.severity = none
126+
dotnet_diagnostic.RCS1008.severity = warning
127+
dotnet_diagnostic.RCS1009.severity = warning
128+
dotnet_diagnostic.RCS1010.severity = none
129+
dotnet_diagnostic.RCS1012.severity = warning
130+
dotnet_diagnostic.RCS1013.severity = none
131+
dotnet_diagnostic.RCS1014.severity = none
132+
dotnet_diagnostic.RCS1015.severity = suggestion
133+
dotnet_diagnostic.RCS1016.severity = none
134+
dotnet_diagnostic.RCS1017.severity = none
135+
dotnet_diagnostic.RCS1018.severity = suggestion
136+
dotnet_diagnostic.RCS1019.severity = none
137+
dotnet_diagnostic.RCS1020.severity = suggestion
138+
dotnet_diagnostic.RCS1021.severity = suggestion
139+
dotnet_diagnostic.RCS1022.severity = none
140+
dotnet_diagnostic.RCS1023.severity = none
141+
dotnet_diagnostic.RCS1024.severity = none
142+
dotnet_diagnostic.RCS1025.severity = none
143+
dotnet_diagnostic.RCS1026.severity = none
144+
dotnet_diagnostic.RCS1027.severity = none
145+
dotnet_diagnostic.RCS1028.severity = none
146+
dotnet_diagnostic.RCS1029.severity = suggestion
147+
dotnet_diagnostic.RCS1030.severity = none
148+
dotnet_diagnostic.RCS1031.severity = suggestion
149+
dotnet_diagnostic.RCS1032.severity = suggestion
150+
dotnet_diagnostic.RCS1033.severity = suggestion
151+
dotnet_diagnostic.RCS1034.severity = silent
152+
dotnet_diagnostic.RCS1035.severity = none
153+
dotnet_diagnostic.RCS1036.severity = suggestion
154+
dotnet_diagnostic.RCS1037.severity = suggestion
155+
dotnet_diagnostic.RCS1038.severity = suggestion
156+
dotnet_diagnostic.RCS1039.severity = silent
157+
dotnet_diagnostic.RCS1040.severity = silent
158+
dotnet_diagnostic.RCS1041.severity = suggestion
159+
dotnet_diagnostic.RCS1042.severity = silent
160+
dotnet_diagnostic.RCS1043.severity = silent
161+
dotnet_diagnostic.RCS1044.severity = warning
162+
dotnet_diagnostic.RCS1045.severity = none
163+
dotnet_diagnostic.RCS1046.severity = none
164+
dotnet_diagnostic.RCS1047.severity = suggestion
165+
dotnet_diagnostic.RCS1048.severity = suggestion
166+
dotnet_diagnostic.RCS1049.severity = suggestion
167+
dotnet_diagnostic.RCS1050.severity = none
168+
dotnet_diagnostic.RCS1051.severity = none
169+
dotnet_diagnostic.RCS1052.severity = none
170+
dotnet_diagnostic.RCS1053.severity = none
171+
dotnet_diagnostic.RCS1054.severity = silent
172+
dotnet_diagnostic.RCS1055.severity = silent
173+
dotnet_diagnostic.RCS1056.severity = none
174+
dotnet_diagnostic.RCS1057.severity = suggestion
175+
dotnet_diagnostic.RCS1058.severity = suggestion
176+
dotnet_diagnostic.RCS1059.severity = warning
177+
dotnet_diagnostic.RCS1060.severity = none
178+
dotnet_diagnostic.RCS1061.severity = silent
179+
dotnet_diagnostic.RCS1062.severity = silent
180+
dotnet_diagnostic.RCS1063.severity = suggestion
181+
dotnet_diagnostic.RCS1064.severity = none
182+
dotnet_diagnostic.RCS1065.severity = none
183+
dotnet_diagnostic.RCS1066.severity = silent
184+
dotnet_diagnostic.RCS1067.severity = none
185+
dotnet_diagnostic.RCS1068.severity = suggestion
186+
dotnet_diagnostic.RCS1069.severity = silent
187+
dotnet_diagnostic.RCS1070.severity = silent
188+
dotnet_diagnostic.RCS1071.severity = silent
189+
dotnet_diagnostic.RCS1072.severity = suggestion
190+
dotnet_diagnostic.RCS1073.severity = suggestion
191+
dotnet_diagnostic.RCS1074.severity = silent
192+
dotnet_diagnostic.RCS1075.severity = none
193+
dotnet_diagnostic.RCS1076.severity = silent
194+
dotnet_diagnostic.RCS1077.severity = suggestion
195+
dotnet_diagnostic.RCS1078.severity = none
196+
dotnet_diagnostic.RCS1079.severity = none
197+
dotnet_diagnostic.RCS1080.severity = suggestion
198+
dotnet_diagnostic.RCS1081.severity = none
199+
dotnet_diagnostic.RCS1082.severity = warning
200+
dotnet_diagnostic.RCS1083.severity = warning
201+
dotnet_diagnostic.RCS1084.severity = suggestion
202+
dotnet_diagnostic.RCS1085.severity = suggestion
203+
dotnet_diagnostic.RCS1086.severity = none
204+
dotnet_diagnostic.RCS1087.severity = none
205+
dotnet_diagnostic.RCS1088.severity = none
206+
dotnet_diagnostic.RCS1089.severity = suggestion
207+
dotnet_diagnostic.RCS1090.severity = suggestion
208+
dotnet_diagnostic.RCS1091.severity = silent
209+
dotnet_diagnostic.RCS1092.severity = none
210+
dotnet_diagnostic.RCS1093.severity = suggestion
211+
dotnet_diagnostic.RCS1094.severity = none
212+
dotnet_diagnostic.RCS1095.severity = suggestion
213+
dotnet_diagnostic.RCS1096.severity = suggestion
214+
dotnet_diagnostic.RCS1097.severity = suggestion
215+
dotnet_diagnostic.RCS1098.severity = suggestion
216+
dotnet_diagnostic.RCS1099.severity = suggestion
217+
dotnet_diagnostic.RCS1100.severity = none
218+
dotnet_diagnostic.RCS1101.severity = none
219+
dotnet_diagnostic.RCS1102.severity = none
220+
dotnet_diagnostic.RCS1103.severity = suggestion
221+
dotnet_diagnostic.RCS1104.severity = suggestion
222+
dotnet_diagnostic.RCS1105.severity = suggestion
223+
dotnet_diagnostic.RCS1106.severity = suggestion
224+
dotnet_diagnostic.RCS1107.severity = suggestion
225+
dotnet_diagnostic.RCS1108.severity = suggestion
226+
dotnet_diagnostic.RCS1109.severity = suggestion
227+
dotnet_diagnostic.RCS1110.severity = suggestion
228+
dotnet_diagnostic.RCS1111.severity = none
229+
dotnet_diagnostic.RCS1112.severity = suggestion
230+
dotnet_diagnostic.RCS1113.severity = suggestion
231+
dotnet_diagnostic.RCS1114.severity = suggestion
232+
dotnet_diagnostic.RCS1115.severity = silent
233+
dotnet_diagnostic.RCS1116.severity = silent
234+
dotnet_diagnostic.RCS1117.severity = silent
235+
dotnet_diagnostic.RCS1118.severity = suggestion
236+
dotnet_diagnostic.RCS1119.severity = suggestion
237+
dotnet_diagnostic.RCS1120.severity = suggestion
238+
dotnet_diagnostic.RCS1121.severity = suggestion
239+
dotnet_diagnostic.RCS1122.severity = none
240+
dotnet_diagnostic.RCS1123.severity = suggestion
241+
dotnet_diagnostic.RCS1124.severity = silent
242+
dotnet_diagnostic.RCS1125.severity = silent
243+
dotnet_diagnostic.RCS1126.severity = none
244+
dotnet_diagnostic.RCS1127.severity = suggestion
245+
dotnet_diagnostic.RCS1128.severity = suggestion
246+
dotnet_diagnostic.RCS1129.severity = silent
247+
dotnet_diagnostic.RCS1130.severity = suggestion
248+
dotnet_diagnostic.RCS1131.severity = silent
249+
dotnet_diagnostic.RCS1132.severity = suggestion
250+
dotnet_diagnostic.RCS1133.severity = silent
251+
dotnet_diagnostic.RCS1134.severity = silent
252+
dotnet_diagnostic.RCS1135.severity = suggestion
253+
dotnet_diagnostic.RCS1136.severity = silent
254+
dotnet_diagnostic.RCS1137.severity = silent
255+
dotnet_diagnostic.RCS1138.severity = warning
256+
dotnet_diagnostic.RCS1139.severity = none
257+
dotnet_diagnostic.RCS1140.severity = silent
258+
dotnet_diagnostic.RCS1141.severity = silent
259+
dotnet_diagnostic.RCS1142.severity = silent
260+
dotnet_diagnostic.RCS1143.severity = silent
261+
dotnet_diagnostic.RCS1144.severity = silent
262+
dotnet_diagnostic.RCS1145.severity = silent
263+
dotnet_diagnostic.RCS1146.severity = suggestion
264+
dotnet_diagnostic.RCS1147.severity = silent
265+
dotnet_diagnostic.RCS1148.severity = silent
266+
dotnet_diagnostic.RCS1149.severity = silent
267+
dotnet_diagnostic.RCS1150.severity = suggestion
268+
dotnet_diagnostic.RCS1151.severity = silent
269+
dotnet_diagnostic.RCS1152.severity = silent
270+
dotnet_diagnostic.RCS1153.severity = none
271+
dotnet_diagnostic.RCS1154.severity = suggestion
272+
dotnet_diagnostic.RCS1155.severity = warning
273+
dotnet_diagnostic.RCS1156.severity = suggestion
274+
dotnet_diagnostic.RCS1157.severity = suggestion
275+
dotnet_diagnostic.RCS1158.severity = suggestion
276+
dotnet_diagnostic.RCS1159.severity = suggestion
277+
dotnet_diagnostic.RCS1160.severity = suggestion
278+
dotnet_diagnostic.RCS1161.severity = silent
279+
dotnet_diagnostic.RCS1162.severity = none
280+
dotnet_diagnostic.RCS1163.severity = suggestion
281+
dotnet_diagnostic.RCS1164.severity = suggestion
282+
dotnet_diagnostic.RCS1165.severity = silent
283+
dotnet_diagnostic.RCS1166.severity = suggestion
284+
dotnet_diagnostic.RCS1167.severity = silent
285+
dotnet_diagnostic.RCS1168.severity = none
286+
dotnet_diagnostic.RCS1169.severity = suggestion
287+
dotnet_diagnostic.RCS1170.severity = suggestion
288+
dotnet_diagnostic.RCS1171.severity = suggestion
289+
dotnet_diagnostic.RCS1172.severity = warning
290+
dotnet_diagnostic.RCS1173.severity = suggestion
291+
dotnet_diagnostic.RCS1174.severity = none
292+
dotnet_diagnostic.RCS1175.severity = suggestion
293+
dotnet_diagnostic.RCS1176.severity = none
294+
dotnet_diagnostic.RCS1177.severity = none
295+
dotnet_diagnostic.RCS1178.severity = suggestion
296+
dotnet_diagnostic.RCS1179.severity = suggestion
297+
dotnet_diagnostic.RCS1180.severity = suggestion
298+
dotnet_diagnostic.RCS1181.severity = silent
299+
dotnet_diagnostic.RCS1182.severity = silent
300+
dotnet_diagnostic.RCS1183.severity = silent
301+
dotnet_diagnostic.RCS1184.severity = none
302+
dotnet_diagnostic.RCS1185.severity = none
303+
dotnet_diagnostic.RCS1186.severity = silent
304+
dotnet_diagnostic.RCS1187.severity = suggestion
305+
dotnet_diagnostic.RCS1188.severity = silent
306+
dotnet_diagnostic.RCS1189.severity = silent
307+
dotnet_diagnostic.RCS1190.severity = suggestion
308+
dotnet_diagnostic.RCS1191.severity = suggestion
309+
dotnet_diagnostic.RCS1192.severity = suggestion
310+
dotnet_diagnostic.RCS1193.severity = warning
311+
dotnet_diagnostic.RCS1194.severity = none
312+
dotnet_diagnostic.RCS1195.severity = suggestion
313+
dotnet_diagnostic.RCS1196.severity = suggestion
314+
dotnet_diagnostic.RCS1197.severity = suggestion
315+
dotnet_diagnostic.RCS1198.severity = none
316+
dotnet_diagnostic.RCS1199.severity = suggestion
317+
dotnet_diagnostic.RCS1200.severity = suggestion
318+
dotnet_diagnostic.RCS1201.severity = silent
319+
dotnet_diagnostic.RCS1202.severity = suggestion
320+
dotnet_diagnostic.RCS1203.severity = warning
321+
dotnet_diagnostic.RCS1204.severity = suggestion
322+
dotnet_diagnostic.RCS1205.severity = suggestion
323+
dotnet_diagnostic.RCS1206.severity = suggestion
324+
dotnet_diagnostic.RCS1207.severity = silent
325+
dotnet_diagnostic.RCS1208.severity = none
326+
dotnet_diagnostic.RCS1209.severity = suggestion
327+
dotnet_diagnostic.RCS1210.severity = warning
328+
dotnet_diagnostic.RCS1211.severity = silent
329+
dotnet_diagnostic.RCS1212.severity = suggestion
330+
dotnet_diagnostic.RCS1213.severity = suggestion
331+
dotnet_diagnostic.RCS1214.severity = suggestion
332+
dotnet_diagnostic.RCS1215.severity = warning
333+
dotnet_diagnostic.RCS1216.severity = suggestion
334+
dotnet_diagnostic.RCS1217.severity = silent
335+
dotnet_diagnostic.RCS1218.severity = suggestion
336+
dotnet_diagnostic.RCS1219.severity = none
337+
dotnet_diagnostic.RCS1220.severity = suggestion
338+
dotnet_diagnostic.RCS1221.severity = suggestion
339+
dotnet_diagnostic.RCS1222.severity = suggestion
340+
dotnet_diagnostic.RCS1223.severity = none
341+
dotnet_diagnostic.RCS1224.severity = suggestion
342+
dotnet_diagnostic.RCS1225.severity = suggestion
343+
dotnet_diagnostic.RCS1226.severity = suggestion
344+
dotnet_diagnostic.RCS1227.severity = suggestion
345+
dotnet_diagnostic.RCS1228.severity = silent
346+
dotnet_diagnostic.RCS1229.severity = suggestion
347+
dotnet_diagnostic.RCS1230.severity = suggestion
348+
dotnet_diagnostic.RCS1231.severity = suggestion
349+
dotnet_diagnostic.SA1101.severity = none
350+
dotnet_diagnostic.SA1118.severity = none
351+
dotnet_diagnostic.SA1200.severity = none
352+
dotnet_diagnostic.SA1201.severity = none
353+
dotnet_diagnostic.SA1202.severity = none
354+
dotnet_diagnostic.SA1204.severity = none
355+
dotnet_diagnostic.SA1210.severity = none
356+
dotnet_diagnostic.SA1309.severity = none
357+
dotnet_diagnostic.SA1413.severity = none
358+
dotnet_diagnostic.SA1512.severity = none
359+
dotnet_diagnostic.SA1513.severity = none
360+
dotnet_diagnostic.SA1516.severity = none
361+
dotnet_diagnostic.SA1600.severity = none
362+
dotnet_diagnostic.SA1601.severity = none
363+
dotnet_diagnostic.SA1602.severity = none
364+
dotnet_diagnostic.SA1604.severity = none
365+
dotnet_diagnostic.SA1605.severity = none
366+
dotnet_diagnostic.SA1606.severity = none
367+
dotnet_diagnostic.SA1607.severity = none
368+
dotnet_diagnostic.SA1608.severity = none
369+
dotnet_diagnostic.SA1611.severity = none
370+
dotnet_diagnostic.SA1615.severity = none
371+
dotnet_diagnostic.SA1618.severity = none
372+
dotnet_diagnostic.SA1623.severity = none
373+
dotnet_diagnostic.SA1633.severity = none
374+
dotnet_diagnostic.SA1642.severity = none
375+
dotnet_diagnostic.SA1648.severity = none
376+
dotnet_diagnostic.SX1309.severity = warning

.github/workflows/build.yml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Build
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- main
7+
jobs:
8+
build:
9+
name: Build
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
matrix:
13+
os: [windows-latest, ubuntu-latest, macos-latest]
14+
env:
15+
# https://github.com/NuGet/Home/issues/11548
16+
# https://twitter.com/xoofx/status/1488617114940452872?s=20&t=BKSN4j9rP6fOyg8l7aW0eg
17+
NUGET_CERT_REVOCATION_MODE: offline
18+
steps:
19+
- name: Get Source
20+
uses: actions/checkout@v2
21+
with:
22+
submodules: recursive
23+
- name: Install .NET Core SDK
24+
uses: actions/setup-dotnet@v1
25+
with:
26+
dotnet-version: |
27+
3.1.x
28+
6.0.x
29+
- name: Build and Test
30+
run: dotnet test --logger "trx;LogFileName=test-results.trx"
31+
- name: Upload Test Results
32+
uses: actions/upload-artifact@v2
33+
if: success() || failure()
34+
with:
35+
name: test-results-${{ matrix.os }}
36+
path: '**/test-results.trx'

.github/workflows/test-report.yml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: 'Test Report'
2+
on:
3+
workflow_run:
4+
workflows: [ 'Build' ]
5+
types:
6+
- completed
7+
jobs:
8+
report:
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
os: [windows-latest, ubuntu-latest, macos-latest]
13+
steps:
14+
- name: Process Test Results
15+
uses: dorny/test-reporter@v1
16+
with:
17+
artifact: test-results-${{ matrix.os }}
18+
name: 'Test Results (${{ matrix.os }})'
19+
path: '**/*.trx'
20+
reporter: dotnet-trx

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -297,3 +297,5 @@ docs/config.wyam.dll
297297

298298
# Ignore repos cloned in unit tests
299299
tests/repos
300+
301+
marvin/

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "marvin"]
2+
path = marvin
3+
url = https://github.com/daveaglick/Marvin.git

0 commit comments

Comments
 (0)