@@ -10,6 +10,7 @@ permissions:
1010
1111jobs :
1212 build :
13+ name : build (${{ matrix.configuration }})
1314 runs-on : ubuntu-latest
1415
1516 strategy :
@@ -29,3 +30,123 @@ jobs:
2930
3031 - name : Build ${{ matrix.configuration }}
3132 run : dotnet build ModularityKit.Mutator.slnx -c ${{ matrix.configuration }} --no-restore
33+
34+ tests :
35+ name : ${{ matrix.name }}
36+ runs-on : ubuntu-latest
37+
38+ strategy :
39+ fail-fast : false
40+ matrix :
41+ include :
42+ - name : test:core
43+ command : dotnet test Tests/ModularityKit.Mutator.Tests/ModularityKit.Mutator.Tests.csproj -c Release --no-restore
44+ - name : test:governance
45+ command : dotnet test Tests/ModularityKit.Mutator.Governance.Tests/ModularityKit.Mutator.Governance.Tests.csproj -c Release --no-restore
46+ - name : test:governance-redis
47+ command : dotnet test Tests/ModularityKit.Mutator.Governance.Redis.Tests/ModularityKit.Mutator.Governance.Redis.Tests.csproj -c Release --no-restore
48+
49+ steps :
50+ - uses : actions/checkout@v5
51+
52+ - uses : actions/setup-dotnet@v5
53+ with :
54+ dotnet-version : 10.0.x
55+
56+ - name : Restore
57+ run : dotnet restore ModularityKit.Mutator.slnx
58+
59+ - name : Run ${{ matrix.name }}
60+ run : ${{ matrix.command }}
61+
62+ examples-core :
63+ name : ${{ matrix.name }}
64+ runs-on : ubuntu-latest
65+
66+ strategy :
67+ fail-fast : false
68+ matrix :
69+ include :
70+ - name : examples:core / BillingQuotas
71+ command : dotnet run --project Examples/Core/BillingQuotas/BillingQuotas.csproj -c Release --no-restore
72+ - name : examples:core / FeatureFlags
73+ command : dotnet run --project Examples/Core/FeatureFlags/FeatureFlags.csproj -c Release --no-restore
74+ - name : examples:core / IamRoles
75+ command : dotnet run --project Examples/Core/IamRoles/IamRoles.csproj -c Release --no-restore
76+ - name : examples:core / WorkflowApprovals
77+ command : dotnet run --project Examples/Core/WorkflowApprovals/WorkflowApprovals.csproj -c Release --no-restore
78+
79+ steps :
80+ - uses : actions/checkout@v5
81+
82+ - uses : actions/setup-dotnet@v5
83+ with :
84+ dotnet-version : 10.0.x
85+
86+ - name : Restore
87+ run : dotnet restore ModularityKit.Mutator.slnx
88+
89+ - name : Run ${{ matrix.name }}
90+ run : ${{ matrix.command }}
91+
92+ examples-governance :
93+ name : ${{ matrix.name }}
94+ runs-on : ubuntu-latest
95+
96+ strategy :
97+ fail-fast : false
98+ matrix :
99+ include :
100+ - name : examples:governance / RequestLifecycle
101+ command : dotnet run --project Examples/Governance/RequestLifecycle/RequestLifecycle.csproj -c Release --no-restore
102+ - name : examples:governance / GovernedExecution
103+ command : dotnet run --project Examples/Governance/GovernedExecution/GovernedExecution.csproj -c Release --no-restore
104+ - name : examples:governance / DecisionTaxonomy
105+ command : dotnet run --project Examples/Governance/DecisionTaxonomy/DecisionTaxonomy.csproj -c Release --no-restore
106+ - name : examples:governance / ApprovalWorkflow
107+ command : dotnet run --project Examples/Governance/ApprovalWorkflow/ApprovalWorkflow.csproj -c Release --no-restore
108+ - name : examples:governance / VersionedResolution
109+ command : dotnet run --project Examples/Governance/VersionedResolution/VersionedResolution.csproj -c Release --no-restore
110+ - name : examples:governance / Queries
111+ command : dotnet run --project Examples/Governance/Queries/Queries.csproj -c Release --no-restore
112+
113+ steps :
114+ - uses : actions/checkout@v5
115+
116+ - uses : actions/setup-dotnet@v5
117+ with :
118+ dotnet-version : 10.0.x
119+
120+ - name : Restore
121+ run : dotnet restore ModularityKit.Mutator.slnx
122+
123+ - name : Run ${{ matrix.name }}
124+ run : ${{ matrix.command }}
125+
126+ examples-governance-redis :
127+ name : examples:governance / RedisQueries
128+ runs-on : ubuntu-latest
129+
130+ steps :
131+ - uses : actions/checkout@v5
132+
133+ - uses : actions/setup-dotnet@v5
134+ with :
135+ dotnet-version : 10.0.x
136+
137+ - name : Restore
138+ run : dotnet restore ModularityKit.Mutator.slnx
139+
140+ - name : Start Redis
141+ working-directory : Examples/Governance/RedisQueries
142+ run : docker compose up -d
143+
144+ - name : Run RedisQueries
145+ env :
146+ MODULARITYKIT_REDIS : localhost:6379
147+ run : dotnet run --project Examples/Governance/RedisQueries/RedisQueries.csproj -c Release --no-restore
148+
149+ - name : Stop Redis
150+ if : ${{ always() }}
151+ working-directory : Examples/Governance/RedisQueries
152+ run : docker compose down
0 commit comments