3434 ci-config : ${{ steps.filter.outputs.ci-config }}
3535 docker-config : ${{ steps.filter.outputs.docker-config }}
3636 pmd-canary : ${{ steps.filter.outputs.pmd-canary }}
37+ version-bump : ${{ steps.version_bump.outputs.changed }}
3738 any-code : ${{ steps.filter.outputs.webapp == 'true' || steps.filter.outputs.application-server == 'true' || steps.filter.outputs.tooling == 'true' || steps.filter.outputs.agent-images == 'true' || steps.filter.outputs.postgres-image == 'true' }}
3839 should_skip : ${{ steps.skip_check.outputs.should_skip }}
3940 timeout-minutes : 5
4849 with :
4950 do_not_skip : ' ["workflow_dispatch", "push", "merge_group"]'
5051
52+ - name : Detect version bump
53+ id : version_bump
54+ if : github.event_name == 'push'
55+ run : |
56+ current=$(jq -r .version package.json)
57+ previous=$(git show HEAD^:package.json | jq -r .version)
58+ changed=false
59+ [ "$current" = "$previous" ] || changed=true
60+ echo "changed=$changed" >> "$GITHUB_OUTPUT"
61+
5162 - uses : dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
5263 id : filter
5364 with :
@@ -183,6 +194,7 @@ jobs:
183194 runs-on : ubuntu-latest
184195 needs : [detect-changes]
185196 if : |
197+ (github.event_name != 'push' || needs.detect-changes.outputs.version-bump == 'true') &&
186198 needs.detect-changes.outputs.should_skip != 'true' && (
187199 needs.detect-changes.outputs.ci-config == 'true' ||
188200 github.event_name != 'pull_request'
@@ -207,6 +219,8 @@ jobs:
207219 name : " Zizmor"
208220 timeout-minutes : 10
209221 runs-on : ubuntu-latest
222+ needs : [detect-changes]
223+ if : github.event_name != 'push' || needs.detect-changes.outputs.version-bump == 'true'
210224 permissions :
211225 contents : read
212226 security-events : write
@@ -230,6 +244,7 @@ jobs:
230244 uses : ./.github/workflows/ci-quality-gates.yml
231245 needs : [detect-changes]
232246 if : |
247+ (github.event_name != 'push' || needs.detect-changes.outputs.version-bump == 'true') &&
233248 needs.detect-changes.outputs.should_skip != 'true' && (
234249 needs.detect-changes.outputs.any-code == 'true' ||
235250 needs.detect-changes.outputs.ci-config == 'true' ||
@@ -251,6 +266,7 @@ jobs:
251266 uses : ./.github/workflows/ci-security-scan.yml
252267 needs : [detect-changes]
253268 if : |
269+ (github.event_name != 'push' || needs.detect-changes.outputs.version-bump == 'true') &&
254270 needs.detect-changes.outputs.should_skip != 'true' && (
255271 needs.detect-changes.outputs.any-code == 'true' ||
256272 needs.detect-changes.outputs.ci-config == 'true' ||
@@ -266,6 +282,7 @@ jobs:
266282 uses : ./.github/workflows/ci-tests.yml
267283 needs : [detect-changes]
268284 if : |
285+ (github.event_name != 'push' || needs.detect-changes.outputs.version-bump == 'true') &&
269286 needs.detect-changes.outputs.should_skip != 'true' && (
270287 needs.detect-changes.outputs.any-code == 'true' ||
271288 needs.detect-changes.outputs.ci-config == 'true' ||
@@ -292,6 +309,13 @@ jobs:
292309 permissions :
293310 contents : read
294311
312+ Compose :
313+ needs : [detect-changes]
314+ if : github.event_name != 'push' || needs.detect-changes.outputs.version-bump == 'true'
315+ uses : ./.github/workflows/ci-compose-validate.yml
316+ permissions :
317+ contents : read
318+
295319 Docker :
296320 uses : ./.github/workflows/ci-docker-build.yml
297321 secrets :
@@ -331,7 +355,7 @@ jobs:
331355 permissions :
332356 actions : read
333357 statuses : write
334- needs : [detect-changes, workflow-lint, zizmor, Quality, Security, Test, Changesets, Docker]
358+ needs : [detect-changes, workflow-lint, zizmor, Quality, Security, Test, Changesets, Compose, Docker]
335359 if : always()
336360 steps :
337361 - name : Generate workflow timeline
@@ -388,6 +412,7 @@ jobs:
388412 echo "Security: ${{ needs.Security.result }}"
389413 echo "Test: ${{ needs.Test.result }}"
390414 echo "Changesets: ${{ needs.Changesets.result }}"
415+ echo "Compose: ${{ needs.Compose.result }}"
391416 echo "Docker: ${{ needs.Docker.result }}"
392417
393418 if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then
@@ -437,6 +462,7 @@ jobs:
437462 echo "| Quality | $(result_to_emoji '${{ needs.Quality.result }}') |" >> $GITHUB_STEP_SUMMARY
438463 echo "| Test | $(result_to_emoji '${{ needs.Test.result }}') |" >> $GITHUB_STEP_SUMMARY
439464 echo "| Changesets | $(result_to_emoji '${{ needs.Changesets.result }}') |" >> $GITHUB_STEP_SUMMARY
465+ echo "| Compose | $(result_to_emoji '${{ needs.Compose.result }}') |" >> $GITHUB_STEP_SUMMARY
440466 echo "| Security | $(result_to_emoji '${{ needs.Security.result }}') |" >> $GITHUB_STEP_SUMMARY
441467 echo "| Docker | $(result_to_emoji '${{ needs.Docker.result }}') |" >> $GITHUB_STEP_SUMMARY
442468 echo "" >> $GITHUB_STEP_SUMMARY
0 commit comments