2727 description : " Python version, set by the CI/CD pipeline workflow"
2828 required : true
2929 type : string
30+ pr_number :
31+ description : " Pull request number for the current branch when one exists"
32+ required : false
33+ type : string
3034 # TODO - Re-visit Trivy usage https://nhsd-jira.digital.nhs.uk/browse/CCM-15549
3135 # skip_trivy_package:
3236 # description: "Skip Trivy package scan when true"
@@ -268,10 +272,41 @@ jobs:
268272 echo "Detected package version $version in main branch"
269273 echo "main_version=$version" >> $GITHUB_OUTPUT
270274
275+ detect-skip-schema-version-check :
276+ name : Check whether schema version checks should be skipped
277+ runs-on : ubuntu-latest
278+ permissions :
279+ pull-requests : read
280+ outputs :
281+ skip_schema_version_check : ${{ steps.check.outputs.skip_schema_version_check }}
282+ steps :
283+ - name : Check for skip-schema-version-check label
284+ id : check
285+ env :
286+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
287+ run : |
288+ if [[ -z "${{ inputs.pr_number }}" ]]; then
289+ echo "No pull request number was provided - schema version checks will run"
290+ echo "skip_schema_version_check=false" >> $GITHUB_OUTPUT
291+ exit 0
292+ fi
293+
294+ labels=$(gh pr view "${{ inputs.pr_number }}" --json labels --jq '.labels[].name' || true)
295+
296+ if printf '%s\n' "$labels" | grep -Fxq 'skip-schema-version-check'; then
297+ echo "PR #${{ inputs.pr_number }} has the skip-schema-version-check label - schema version checks will be skipped"
298+ echo "skip_schema_version_check=true" >> $GITHUB_OUTPUT
299+ else
300+ echo "PR #${{ inputs.pr_number }} does not have the skip-schema-version-check label - schema version checks will run"
301+ echo "skip_schema_version_check=false" >> $GITHUB_OUTPUT
302+ fi
303+
271304 check-schema-version-change :
272305 name : Check event schema version has been updated
273- needs : detect-event-schema-package-changes
274- if : needs.detect-event-schema-package-changes.outputs.changed == 'true'
306+ needs :
307+ - detect-event-schema-package-changes
308+ - detect-skip-schema-version-check
309+ if : needs.detect-event-schema-package-changes.outputs.changed == 'true' && needs.detect-skip-schema-version-check.outputs.skip_schema_version_check != 'true'
275310 runs-on : ubuntu-latest
276311 permissions :
277312 contents : read
@@ -295,8 +330,10 @@ jobs:
295330
296331 check-event-schemas-version-change :
297332 name : Check for event schemas package version change
298- needs : detect-event-schema-package-changes
299- if : needs.detect-event-schema-package-changes.outputs.changed == 'true'
333+ needs :
334+ - detect-event-schema-package-changes
335+ - detect-skip-schema-version-check
336+ if : needs.detect-event-schema-package-changes.outputs.changed == 'true' && needs.detect-skip-schema-version-check.outputs.skip_schema_version_check != 'true'
300337 outputs :
301338 version_changed : ${{ steps.check-version.outputs.version_changed }}
302339 runs-on : ubuntu-latest
0 commit comments