Skip to content

Commit 7f63aab

Browse files
committed
Run PR checks only on pull requests
1 parent 35acbc2 commit 7f63aab

1 file changed

Lines changed: 45 additions & 65 deletions

File tree

.github/workflows/pr-check.yml

Lines changed: 45 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: PR Check
22

33
on:
44
pull_request:
5-
push:
6-
branches: [ main, master, develop ]
75

86
permissions:
97
contents: read
@@ -31,84 +29,58 @@ jobs:
3129
- name: Build ${{ matrix.configuration }}
3230
run: dotnet build ModularityKit.Mutator.slnx -c ${{ matrix.configuration }} --no-restore
3331

34-
tests:
32+
validate:
3533
name: ${{ matrix.name }}
3634
runs-on: ubuntu-latest
35+
needs: build
3736

3837
strategy:
3938
fail-fast: false
4039
matrix:
4140
include:
4241
- name: test:core
4342
command: dotnet test Tests/ModularityKit.Mutator.Tests/ModularityKit.Mutator.Tests.csproj -c Release --no-restore
43+
redis: false
4444
- name: test:governance
4545
command: dotnet test Tests/ModularityKit.Mutator.Governance.Tests/ModularityKit.Mutator.Governance.Tests.csproj -c Release --no-restore
46+
redis: false
4647
- name: test:governance-redis
4748
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:
49+
redis: false
7050
- name: examples:core / BillingQuotas
7151
command: dotnet run --project Examples/Core/BillingQuotas/BillingQuotas.csproj -c Release --no-restore
52+
redis: false
7253
- name: examples:core / FeatureFlags
7354
command: dotnet run --project Examples/Core/FeatureFlags/FeatureFlags.csproj -c Release --no-restore
55+
redis: false
7456
- name: examples:core / IamRoles
7557
command: dotnet run --project Examples/Core/IamRoles/IamRoles.csproj -c Release --no-restore
58+
redis: false
7659
- name: examples:core / WorkflowApprovals
7760
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:
61+
redis: false
10062
- name: examples:governance / RequestLifecycle
10163
command: dotnet run --project Examples/Governance/RequestLifecycle/RequestLifecycle.csproj -c Release --no-restore
64+
redis: false
10265
- name: examples:governance / GovernedExecution
10366
command: dotnet run --project Examples/Governance/GovernedExecution/GovernedExecution.csproj -c Release --no-restore
67+
redis: false
10468
- name: examples:governance / DecisionTaxonomy
10569
command: dotnet run --project Examples/Governance/DecisionTaxonomy/DecisionTaxonomy.csproj -c Release --no-restore
70+
redis: false
10671
- name: examples:governance / ApprovalWorkflow
10772
command: dotnet run --project Examples/Governance/ApprovalWorkflow/ApprovalWorkflow.csproj -c Release --no-restore
73+
redis: false
10874
- name: examples:governance / VersionedResolution
10975
command: dotnet run --project Examples/Governance/VersionedResolution/VersionedResolution.csproj -c Release --no-restore
76+
redis: false
11077
- name: examples:governance / Queries
11178
command: dotnet run --project Examples/Governance/Queries/Queries.csproj -c Release --no-restore
79+
redis: false
80+
- name: examples:governance / RedisQueries
81+
command: dotnet run --project Examples/Governance/RedisQueries/RedisQueries.csproj -c Release --no-restore
82+
redis: true
83+
redis_workdir: Examples/Governance/RedisQueries
11284

11385
steps:
11486
- uses: actions/checkout@v5
@@ -121,32 +93,40 @@ jobs:
12193
run: dotnet restore ModularityKit.Mutator.slnx
12294

12395
- name: Run ${{ matrix.name }}
96+
if: ${{ !matrix.redis }}
12497
run: ${{ matrix.command }}
12598

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-
14099
- name: Start Redis
141-
working-directory: Examples/Governance/RedisQueries
100+
if: ${{ matrix.redis }}
101+
working-directory: ${{ matrix.redis_workdir }}
142102
run: docker compose up -d
143103

144104
- name: Run RedisQueries
105+
if: ${{ matrix.redis }}
145106
env:
146107
MODULARITYKIT_REDIS: localhost:6379
147-
run: dotnet run --project Examples/Governance/RedisQueries/RedisQueries.csproj -c Release --no-restore
108+
run: ${{ matrix.command }}
148109

149110
- name: Stop Redis
150-
if: ${{ always() }}
151-
working-directory: Examples/Governance/RedisQueries
111+
if: ${{ always() && matrix.redis }}
112+
working-directory: ${{ matrix.redis_workdir }}
152113
run: docker compose down
114+
115+
validation-summary:
116+
name: validation summary
117+
runs-on: ubuntu-latest
118+
needs:
119+
- build
120+
- validate
121+
if: always()
122+
123+
steps:
124+
- name: Report job results
125+
run: |
126+
echo "build: ${{ needs.build.result }}"
127+
echo "validate: ${{ needs.validate.result }}"
128+
129+
if [ "${{ needs.build.result }}" != "success" ] || \
130+
[ "${{ needs.validate.result }}" != "success" ]; then
131+
exit 1
132+
fi

0 commit comments

Comments
 (0)