Skip to content

Commit

Permalink
Lots of build tooling updates, added Marvin
Browse files Browse the repository at this point in the history
  • Loading branch information
daveaglick committed May 13, 2022
1 parent 0fafd31 commit 72c435a
Show file tree
Hide file tree
Showing 19 changed files with 439 additions and 615 deletions.
301 changes: 300 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,303 @@ csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_before_members_in_anonymous_types = true

# Known validation methods, see https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1062?view=vs-2019#null-check-validation-methods
dotnet_code_quality.CA1062.null_check_validation_methods = ThrowIfNull|ThrowIfNullOrEmpty|ThrowIfNullOrWhiteSpace

# These rules represent Dave Glick's preferences and enforce consistent code quality guidelines.
[*.{cs,vb}]
dotnet_diagnostic.CA1020.severity = warning
dotnet_diagnostic.CA1021.severity = warning
dotnet_diagnostic.CA1040.severity = warning
dotnet_diagnostic.CA1045.severity = warning
dotnet_diagnostic.CA1062.severity = warning
dotnet_diagnostic.CA1501.severity = warning
dotnet_diagnostic.CA1504.severity = warning
dotnet_diagnostic.CA1505.severity = warning
dotnet_diagnostic.CA1506.severity = none
dotnet_diagnostic.CA1700.severity = warning
dotnet_diagnostic.CA1701.severity = warning
dotnet_diagnostic.CA1702.severity = warning
dotnet_diagnostic.CA1703.severity = warning
dotnet_diagnostic.CA1704.severity = warning
dotnet_diagnostic.CA1707.severity = warning
dotnet_diagnostic.CA1709.severity = warning
dotnet_diagnostic.CA1710.severity = warning
dotnet_diagnostic.CA1711.severity = warning
dotnet_diagnostic.CA1712.severity = warning
dotnet_diagnostic.CA1713.severity = warning
dotnet_diagnostic.CA1714.severity = warning
dotnet_diagnostic.CA1715.severity = warning
dotnet_diagnostic.CA1717.severity = warning
dotnet_diagnostic.CA1719.severity = warning
dotnet_diagnostic.CA1720.severity = warning
dotnet_diagnostic.CA1721.severity = warning
dotnet_diagnostic.CA1722.severity = warning
dotnet_diagnostic.CA1724.severity = none
dotnet_diagnostic.CA1725.severity = warning
dotnet_diagnostic.CA1726.severity = warning
dotnet_diagnostic.CA2204.severity = warning
dotnet_diagnostic.CS1591.severity = none
dotnet_diagnostic.IDE0007.severity = none
dotnet_diagnostic.IDE0007WithoutSuggestion.severity = none
dotnet_diagnostic.IDE0008.severity = warning
dotnet_diagnostic.RCS1001.severity = suggestion
dotnet_diagnostic.RCS1002.severity = none
dotnet_diagnostic.RCS1003.severity = suggestion
dotnet_diagnostic.RCS1004.severity = none
dotnet_diagnostic.RCS1005.severity = silent
dotnet_diagnostic.RCS1006.severity = silent
dotnet_diagnostic.RCS1007.severity = none
dotnet_diagnostic.RCS1008.severity = warning
dotnet_diagnostic.RCS1009.severity = warning
dotnet_diagnostic.RCS1010.severity = none
dotnet_diagnostic.RCS1012.severity = warning
dotnet_diagnostic.RCS1013.severity = none
dotnet_diagnostic.RCS1014.severity = none
dotnet_diagnostic.RCS1015.severity = suggestion
dotnet_diagnostic.RCS1016.severity = none
dotnet_diagnostic.RCS1017.severity = none
dotnet_diagnostic.RCS1018.severity = suggestion
dotnet_diagnostic.RCS1019.severity = none
dotnet_diagnostic.RCS1020.severity = suggestion
dotnet_diagnostic.RCS1021.severity = suggestion
dotnet_diagnostic.RCS1022.severity = none
dotnet_diagnostic.RCS1023.severity = none
dotnet_diagnostic.RCS1024.severity = none
dotnet_diagnostic.RCS1025.severity = none
dotnet_diagnostic.RCS1026.severity = none
dotnet_diagnostic.RCS1027.severity = none
dotnet_diagnostic.RCS1028.severity = none
dotnet_diagnostic.RCS1029.severity = suggestion
dotnet_diagnostic.RCS1030.severity = none
dotnet_diagnostic.RCS1031.severity = suggestion
dotnet_diagnostic.RCS1032.severity = suggestion
dotnet_diagnostic.RCS1033.severity = suggestion
dotnet_diagnostic.RCS1034.severity = silent
dotnet_diagnostic.RCS1035.severity = none
dotnet_diagnostic.RCS1036.severity = suggestion
dotnet_diagnostic.RCS1037.severity = suggestion
dotnet_diagnostic.RCS1038.severity = suggestion
dotnet_diagnostic.RCS1039.severity = silent
dotnet_diagnostic.RCS1040.severity = silent
dotnet_diagnostic.RCS1041.severity = suggestion
dotnet_diagnostic.RCS1042.severity = silent
dotnet_diagnostic.RCS1043.severity = silent
dotnet_diagnostic.RCS1044.severity = warning
dotnet_diagnostic.RCS1045.severity = none
dotnet_diagnostic.RCS1046.severity = none
dotnet_diagnostic.RCS1047.severity = suggestion
dotnet_diagnostic.RCS1048.severity = suggestion
dotnet_diagnostic.RCS1049.severity = suggestion
dotnet_diagnostic.RCS1050.severity = none
dotnet_diagnostic.RCS1051.severity = none
dotnet_diagnostic.RCS1052.severity = none
dotnet_diagnostic.RCS1053.severity = none
dotnet_diagnostic.RCS1054.severity = silent
dotnet_diagnostic.RCS1055.severity = silent
dotnet_diagnostic.RCS1056.severity = none
dotnet_diagnostic.RCS1057.severity = suggestion
dotnet_diagnostic.RCS1058.severity = suggestion
dotnet_diagnostic.RCS1059.severity = warning
dotnet_diagnostic.RCS1060.severity = none
dotnet_diagnostic.RCS1061.severity = silent
dotnet_diagnostic.RCS1062.severity = silent
dotnet_diagnostic.RCS1063.severity = suggestion
dotnet_diagnostic.RCS1064.severity = none
dotnet_diagnostic.RCS1065.severity = none
dotnet_diagnostic.RCS1066.severity = silent
dotnet_diagnostic.RCS1067.severity = none
dotnet_diagnostic.RCS1068.severity = suggestion
dotnet_diagnostic.RCS1069.severity = silent
dotnet_diagnostic.RCS1070.severity = silent
dotnet_diagnostic.RCS1071.severity = silent
dotnet_diagnostic.RCS1072.severity = suggestion
dotnet_diagnostic.RCS1073.severity = suggestion
dotnet_diagnostic.RCS1074.severity = silent
dotnet_diagnostic.RCS1075.severity = none
dotnet_diagnostic.RCS1076.severity = silent
dotnet_diagnostic.RCS1077.severity = suggestion
dotnet_diagnostic.RCS1078.severity = none
dotnet_diagnostic.RCS1079.severity = none
dotnet_diagnostic.RCS1080.severity = suggestion
dotnet_diagnostic.RCS1081.severity = none
dotnet_diagnostic.RCS1082.severity = warning
dotnet_diagnostic.RCS1083.severity = warning
dotnet_diagnostic.RCS1084.severity = suggestion
dotnet_diagnostic.RCS1085.severity = suggestion
dotnet_diagnostic.RCS1086.severity = none
dotnet_diagnostic.RCS1087.severity = none
dotnet_diagnostic.RCS1088.severity = none
dotnet_diagnostic.RCS1089.severity = suggestion
dotnet_diagnostic.RCS1090.severity = suggestion
dotnet_diagnostic.RCS1091.severity = silent
dotnet_diagnostic.RCS1092.severity = none
dotnet_diagnostic.RCS1093.severity = suggestion
dotnet_diagnostic.RCS1094.severity = none
dotnet_diagnostic.RCS1095.severity = suggestion
dotnet_diagnostic.RCS1096.severity = suggestion
dotnet_diagnostic.RCS1097.severity = suggestion
dotnet_diagnostic.RCS1098.severity = suggestion
dotnet_diagnostic.RCS1099.severity = suggestion
dotnet_diagnostic.RCS1100.severity = none
dotnet_diagnostic.RCS1101.severity = none
dotnet_diagnostic.RCS1102.severity = none
dotnet_diagnostic.RCS1103.severity = suggestion
dotnet_diagnostic.RCS1104.severity = suggestion
dotnet_diagnostic.RCS1105.severity = suggestion
dotnet_diagnostic.RCS1106.severity = suggestion
dotnet_diagnostic.RCS1107.severity = suggestion
dotnet_diagnostic.RCS1108.severity = suggestion
dotnet_diagnostic.RCS1109.severity = suggestion
dotnet_diagnostic.RCS1110.severity = suggestion
dotnet_diagnostic.RCS1111.severity = none
dotnet_diagnostic.RCS1112.severity = suggestion
dotnet_diagnostic.RCS1113.severity = suggestion
dotnet_diagnostic.RCS1114.severity = suggestion
dotnet_diagnostic.RCS1115.severity = silent
dotnet_diagnostic.RCS1116.severity = silent
dotnet_diagnostic.RCS1117.severity = silent
dotnet_diagnostic.RCS1118.severity = suggestion
dotnet_diagnostic.RCS1119.severity = suggestion
dotnet_diagnostic.RCS1120.severity = suggestion
dotnet_diagnostic.RCS1121.severity = suggestion
dotnet_diagnostic.RCS1122.severity = none
dotnet_diagnostic.RCS1123.severity = suggestion
dotnet_diagnostic.RCS1124.severity = silent
dotnet_diagnostic.RCS1125.severity = silent
dotnet_diagnostic.RCS1126.severity = none
dotnet_diagnostic.RCS1127.severity = suggestion
dotnet_diagnostic.RCS1128.severity = suggestion
dotnet_diagnostic.RCS1129.severity = silent
dotnet_diagnostic.RCS1130.severity = suggestion
dotnet_diagnostic.RCS1131.severity = silent
dotnet_diagnostic.RCS1132.severity = suggestion
dotnet_diagnostic.RCS1133.severity = silent
dotnet_diagnostic.RCS1134.severity = silent
dotnet_diagnostic.RCS1135.severity = suggestion
dotnet_diagnostic.RCS1136.severity = silent
dotnet_diagnostic.RCS1137.severity = silent
dotnet_diagnostic.RCS1138.severity = warning
dotnet_diagnostic.RCS1139.severity = none
dotnet_diagnostic.RCS1140.severity = silent
dotnet_diagnostic.RCS1141.severity = silent
dotnet_diagnostic.RCS1142.severity = silent
dotnet_diagnostic.RCS1143.severity = silent
dotnet_diagnostic.RCS1144.severity = silent
dotnet_diagnostic.RCS1145.severity = silent
dotnet_diagnostic.RCS1146.severity = suggestion
dotnet_diagnostic.RCS1147.severity = silent
dotnet_diagnostic.RCS1148.severity = silent
dotnet_diagnostic.RCS1149.severity = silent
dotnet_diagnostic.RCS1150.severity = suggestion
dotnet_diagnostic.RCS1151.severity = silent
dotnet_diagnostic.RCS1152.severity = silent
dotnet_diagnostic.RCS1153.severity = none
dotnet_diagnostic.RCS1154.severity = suggestion
dotnet_diagnostic.RCS1155.severity = warning
dotnet_diagnostic.RCS1156.severity = suggestion
dotnet_diagnostic.RCS1157.severity = suggestion
dotnet_diagnostic.RCS1158.severity = suggestion
dotnet_diagnostic.RCS1159.severity = suggestion
dotnet_diagnostic.RCS1160.severity = suggestion
dotnet_diagnostic.RCS1161.severity = silent
dotnet_diagnostic.RCS1162.severity = none
dotnet_diagnostic.RCS1163.severity = suggestion
dotnet_diagnostic.RCS1164.severity = suggestion
dotnet_diagnostic.RCS1165.severity = silent
dotnet_diagnostic.RCS1166.severity = suggestion
dotnet_diagnostic.RCS1167.severity = silent
dotnet_diagnostic.RCS1168.severity = none
dotnet_diagnostic.RCS1169.severity = suggestion
dotnet_diagnostic.RCS1170.severity = suggestion
dotnet_diagnostic.RCS1171.severity = suggestion
dotnet_diagnostic.RCS1172.severity = warning
dotnet_diagnostic.RCS1173.severity = suggestion
dotnet_diagnostic.RCS1174.severity = none
dotnet_diagnostic.RCS1175.severity = suggestion
dotnet_diagnostic.RCS1176.severity = none
dotnet_diagnostic.RCS1177.severity = none
dotnet_diagnostic.RCS1178.severity = suggestion
dotnet_diagnostic.RCS1179.severity = suggestion
dotnet_diagnostic.RCS1180.severity = suggestion
dotnet_diagnostic.RCS1181.severity = silent
dotnet_diagnostic.RCS1182.severity = silent
dotnet_diagnostic.RCS1183.severity = silent
dotnet_diagnostic.RCS1184.severity = none
dotnet_diagnostic.RCS1185.severity = none
dotnet_diagnostic.RCS1186.severity = silent
dotnet_diagnostic.RCS1187.severity = suggestion
dotnet_diagnostic.RCS1188.severity = silent
dotnet_diagnostic.RCS1189.severity = silent
dotnet_diagnostic.RCS1190.severity = suggestion
dotnet_diagnostic.RCS1191.severity = suggestion
dotnet_diagnostic.RCS1192.severity = suggestion
dotnet_diagnostic.RCS1193.severity = warning
dotnet_diagnostic.RCS1194.severity = none
dotnet_diagnostic.RCS1195.severity = suggestion
dotnet_diagnostic.RCS1196.severity = suggestion
dotnet_diagnostic.RCS1197.severity = suggestion
dotnet_diagnostic.RCS1198.severity = none
dotnet_diagnostic.RCS1199.severity = suggestion
dotnet_diagnostic.RCS1200.severity = suggestion
dotnet_diagnostic.RCS1201.severity = silent
dotnet_diagnostic.RCS1202.severity = suggestion
dotnet_diagnostic.RCS1203.severity = warning
dotnet_diagnostic.RCS1204.severity = suggestion
dotnet_diagnostic.RCS1205.severity = suggestion
dotnet_diagnostic.RCS1206.severity = suggestion
dotnet_diagnostic.RCS1207.severity = silent
dotnet_diagnostic.RCS1208.severity = none
dotnet_diagnostic.RCS1209.severity = suggestion
dotnet_diagnostic.RCS1210.severity = warning
dotnet_diagnostic.RCS1211.severity = silent
dotnet_diagnostic.RCS1212.severity = suggestion
dotnet_diagnostic.RCS1213.severity = suggestion
dotnet_diagnostic.RCS1214.severity = suggestion
dotnet_diagnostic.RCS1215.severity = warning
dotnet_diagnostic.RCS1216.severity = suggestion
dotnet_diagnostic.RCS1217.severity = silent
dotnet_diagnostic.RCS1218.severity = suggestion
dotnet_diagnostic.RCS1219.severity = none
dotnet_diagnostic.RCS1220.severity = suggestion
dotnet_diagnostic.RCS1221.severity = suggestion
dotnet_diagnostic.RCS1222.severity = suggestion
dotnet_diagnostic.RCS1223.severity = none
dotnet_diagnostic.RCS1224.severity = suggestion
dotnet_diagnostic.RCS1225.severity = suggestion
dotnet_diagnostic.RCS1226.severity = suggestion
dotnet_diagnostic.RCS1227.severity = suggestion
dotnet_diagnostic.RCS1228.severity = silent
dotnet_diagnostic.RCS1229.severity = suggestion
dotnet_diagnostic.RCS1230.severity = suggestion
dotnet_diagnostic.RCS1231.severity = suggestion
dotnet_diagnostic.SA1101.severity = none
dotnet_diagnostic.SA1118.severity = none
dotnet_diagnostic.SA1200.severity = none
dotnet_diagnostic.SA1201.severity = none
dotnet_diagnostic.SA1202.severity = none
dotnet_diagnostic.SA1204.severity = none
dotnet_diagnostic.SA1210.severity = none
dotnet_diagnostic.SA1309.severity = none
dotnet_diagnostic.SA1413.severity = none
dotnet_diagnostic.SA1512.severity = none
dotnet_diagnostic.SA1513.severity = none
dotnet_diagnostic.SA1516.severity = none
dotnet_diagnostic.SA1600.severity = none
dotnet_diagnostic.SA1601.severity = none
dotnet_diagnostic.SA1602.severity = none
dotnet_diagnostic.SA1604.severity = none
dotnet_diagnostic.SA1605.severity = none
dotnet_diagnostic.SA1606.severity = none
dotnet_diagnostic.SA1607.severity = none
dotnet_diagnostic.SA1608.severity = none
dotnet_diagnostic.SA1611.severity = none
dotnet_diagnostic.SA1615.severity = none
dotnet_diagnostic.SA1618.severity = none
dotnet_diagnostic.SA1623.severity = none
dotnet_diagnostic.SA1633.severity = none
dotnet_diagnostic.SA1642.severity = none
dotnet_diagnostic.SA1648.severity = none
dotnet_diagnostic.SX1309.severity = warning
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: daveaglick
38 changes: 38 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Build
on:
pull_request:
workflow_dispatch:
push:
branches:
- main
jobs:
build:
name: Build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
env:
# https://github.com/NuGet/Home/issues/11548
# https://twitter.com/xoofx/status/1488617114940452872?s=20&t=BKSN4j9rP6fOyg8l7aW0eg
NUGET_CERT_REVOCATION_MODE: offline
steps:
- name: Get Source
uses: actions/checkout@v2
with:
submodules: recursive
- name: Install .NET Core SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: |
3.1.x
6.0.x
- name: Build and Test
run: dotnet test --logger "trx;LogFileName=test-results.trx"
- name: Upload Test Results
uses: actions/upload-artifact@v2
if: success() || failure()
with:
name: test-results-${{ matrix.os }}
path: '**/test-results.trx'
21 changes: 21 additions & 0 deletions .github/workflows/test-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: 'Test Report'
on:
workflow_run:
workflows: [ 'Build' ]
types:
- completed
jobs:
report:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
steps:
- name: Process Test Results
uses: dorny/test-reporter@v1
with:
artifact: test-results-${{ matrix.os }}
name: 'Test Results (${{ matrix.os }})'
path: '**/*.trx'
reporter: dotnet-trx
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -296,3 +296,6 @@ docs/config.wyam.dll
*.ncrunchsolution

*.ncrunchproject

cache/
marvin/
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "marvin"]
path = marvin
url = https://github.com/daveaglick/Marvin.git
Loading

0 comments on commit 72c435a

Please sign in to comment.