@@ -144,6 +144,7 @@ jobs:
144144 ci-config:
145145 - '.github/workflows/**'
146146 - '.github/actions/**'
147+ - '.github/actionlint.yaml'
147148 docker-config:
148149 - '.github/workflows/ci-docker-build.yml'
149150 - '.github/workflows/reusable-docker-build.yml'
@@ -164,6 +165,30 @@ jobs:
164165 - '!webapp/src/**/*.stories.*'
165166 - '!webapp/src/test/**'
166167
168+ workflow-lint :
169+ name : " Workflow syntax"
170+ runs-on : ubuntu-latest
171+ needs : [detect-changes]
172+ if : |
173+ needs.detect-changes.outputs.should_skip != 'true' && (
174+ needs.detect-changes.outputs.ci-config == 'true' ||
175+ github.event_name != 'pull_request'
176+ )
177+ permissions :
178+ checks : write
179+ contents : read
180+ steps :
181+ - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
182+ with :
183+ persist-credentials : false
184+
185+ - uses : reviewdog/action-actionlint@dbe5299849118fd6f099ba563d263d770955a64a # v1.73.2
186+ with :
187+ actionlint_flags : -shellcheck=
188+ fail_level : error
189+ filter_mode : nofilter
190+ reporter : github-check
191+
167192 Quality :
168193 uses : ./.github/workflows/ci-quality-gates.yml
169194 needs : [detect-changes]
@@ -243,7 +268,7 @@ jobs:
243268 permissions :
244269 actions : read
245270 statuses : write
246- needs : [detect-changes, Quality, Security, Test, Changesets, Docker]
271+ needs : [detect-changes, workflow-lint, Quality, Security, Test, Changesets, Docker]
247272 if : always()
248273 steps :
249274 - name : Generate workflow timeline
@@ -294,6 +319,7 @@ jobs:
294319 id : evaluate
295320 run : |
296321 echo "detect-changes: ${{ needs.detect-changes.result }}"
322+ echo "workflow-lint: ${{ needs.workflow-lint.result }}"
297323 echo "Quality: ${{ needs.Quality.result }}"
298324 echo "Security: ${{ needs.Security.result }}"
299325 echo "Test: ${{ needs.Test.result }}"
@@ -342,6 +368,7 @@ jobs:
342368 esac
343369 }
344370
371+ echo "| Workflow syntax | $(result_to_emoji '${{ needs.workflow-lint.result }}') |" >> $GITHUB_STEP_SUMMARY
345372 echo "| Quality | $(result_to_emoji '${{ needs.Quality.result }}') |" >> $GITHUB_STEP_SUMMARY
346373 echo "| Test | $(result_to_emoji '${{ needs.Test.result }}') |" >> $GITHUB_STEP_SUMMARY
347374 echo "| Changesets | $(result_to_emoji '${{ needs.Changesets.result }}') |" >> $GITHUB_STEP_SUMMARY
0 commit comments