3434 tests :
3535 name : ${{ matrix.name }}
3636 runs-on : ubuntu-latest
37+ needs : build
3738
3839 strategy :
3940 fail-fast : false
@@ -58,3 +59,126 @@ jobs:
5859
5960 - name : Run ${{ matrix.name }}
6061 run : ${{ matrix.command }}
62+
63+ examples-core :
64+ name : ${{ matrix.name }}
65+ runs-on : ubuntu-latest
66+ needs : build
67+
68+ strategy :
69+ fail-fast : false
70+ matrix :
71+ include :
72+ - name : examples:core / BillingQuotas
73+ command : dotnet run --project Examples/Core/BillingQuotas/BillingQuotas.csproj -c Release --no-restore
74+ - name : examples:core / FeatureFlags
75+ command : dotnet run --project Examples/Core/FeatureFlags/FeatureFlags.csproj -c Release --no-restore
76+ - name : examples:core / IamRoles
77+ command : dotnet run --project Examples/Core/IamRoles/IamRoles.csproj -c Release --no-restore
78+ - name : examples:core / WorkflowApprovals
79+ command : dotnet run --project Examples/Core/WorkflowApprovals/WorkflowApprovals.csproj -c Release --no-restore
80+
81+ steps :
82+ - uses : actions/checkout@v5
83+
84+ - uses : actions/setup-dotnet@v5
85+ with :
86+ dotnet-version : 10.0.x
87+
88+ - name : Restore
89+ run : dotnet restore ModularityKit.Mutator.slnx
90+
91+ - name : Run ${{ matrix.name }}
92+ run : ${{ matrix.command }}
93+
94+ examples-governance :
95+ name : ${{ matrix.name }}
96+ runs-on : ubuntu-latest
97+ needs : build
98+
99+ strategy :
100+ fail-fast : false
101+ matrix :
102+ include :
103+ - name : examples:governance / RequestLifecycle
104+ command : dotnet run --project Examples/Governance/RequestLifecycle/RequestLifecycle.csproj -c Release --no-restore
105+ - name : examples:governance / GovernedExecution
106+ command : dotnet run --project Examples/Governance/GovernedExecution/GovernedExecution.csproj -c Release --no-restore
107+ - name : examples:governance / DecisionTaxonomy
108+ command : dotnet run --project Examples/Governance/DecisionTaxonomy/DecisionTaxonomy.csproj -c Release --no-restore
109+ - name : examples:governance / ApprovalWorkflow
110+ command : dotnet run --project Examples/Governance/ApprovalWorkflow/ApprovalWorkflow.csproj -c Release --no-restore
111+ - name : examples:governance / VersionedResolution
112+ command : dotnet run --project Examples/Governance/VersionedResolution/VersionedResolution.csproj -c Release --no-restore
113+ - name : examples:governance / Queries
114+ command : dotnet run --project Examples/Governance/Queries/Queries.csproj -c Release --no-restore
115+
116+ steps :
117+ - uses : actions/checkout@v5
118+
119+ - uses : actions/setup-dotnet@v5
120+ with :
121+ dotnet-version : 10.0.x
122+
123+ - name : Restore
124+ run : dotnet restore ModularityKit.Mutator.slnx
125+
126+ - name : Run ${{ matrix.name }}
127+ run : ${{ matrix.command }}
128+
129+ examples-governance-redis :
130+ name : examples:governance / RedisQueries
131+ runs-on : ubuntu-latest
132+ needs : build
133+
134+ steps :
135+ - uses : actions/checkout@v5
136+
137+ - uses : actions/setup-dotnet@v5
138+ with :
139+ dotnet-version : 10.0.x
140+
141+ - name : Restore
142+ run : dotnet restore ModularityKit.Mutator.slnx
143+
144+ - name : Start Redis
145+ working-directory : Examples/Governance/RedisQueries
146+ run : docker compose up -d
147+
148+ - name : Run RedisQueries
149+ env :
150+ MODULARITYKIT_REDIS : localhost:6379
151+ run : dotnet run --project Examples/Governance/RedisQueries/RedisQueries.csproj -c Release --no-restore
152+
153+ - name : Stop Redis
154+ if : ${{ always() }}
155+ working-directory : Examples/Governance/RedisQueries
156+ run : docker compose down
157+
158+ validation-summary :
159+ name : validation summary
160+ runs-on : ubuntu-latest
161+ needs :
162+ - build
163+ - tests
164+ - examples-core
165+ - examples-governance
166+ - examples-governance-redis
167+ if : always()
168+
169+ steps :
170+ - name : Report job results
171+ run : |
172+ echo "build: ${{ needs.build.result }}"
173+ echo "tests: ${{ needs.tests.result }}"
174+ echo "examples-core: ${{ needs.examples-core.result }}"
175+ echo "examples-governance: ${{ needs.examples-governance.result }}"
176+ echo "examples-governance-redis: ${{ needs.examples-governance-redis.result }}"
177+
178+ if [ "${{ needs.build.result }}" != "success" ] || \
179+ [ "${{ needs.tests.result }}" != "success" ] || \
180+ [ "${{ needs.examples-core.result }}" != "success" ] || \
181+ [ "${{ needs.examples-governance.result }}" != "success" ] || \
182+ [ "${{ needs.examples-governance-redis.result }}" != "success" ]; then
183+ exit 1
184+ fi
0 commit comments