diff --git a/.github/workflows/validate-ucm.yml b/.github/workflows/validate-ucm.yml index fc06c3b..5eced67 100644 --- a/.github/workflows/validate-ucm.yml +++ b/.github/workflows/validate-ucm.yml @@ -3,6 +3,7 @@ name: Validate UCM on: push: branches: ["main"] + pull_request: jobs: validate: diff --git a/validate-ucm.sh b/validate-ucm.sh index 22c390e..3a60cba 100755 --- a/validate-ucm.sh +++ b/validate-ucm.sh @@ -1,7 +1,8 @@ #!/bin/sh # Script to check each HiFi file for any keywords from the ChromeOS UCM -# that should have been removed +# that should have been removed, and also checks for any empty EnableSequence +# and disable Sequence lines failed=0 filtered_keywords=('cdev' 'FullySpecifiedUCM' 'DspName' 'sof' 'JackDev' 'JackSwitch' 'Line Out' 'CaptureChannelMap' 'IntrinsicSensitivity') @@ -10,6 +11,9 @@ for keyword in "${filtered_keywords[@]}"; do find -name "HiFi*.conf" -exec grep "${keyword}" {} + && failed=1 done +find -name "HiFi*.conf" -exec pcregrep -M 'EnableSequence \[(\n|.)\t\]' {} + && failed=1 +find -name "HiFi*.conf" -exec pcregrep -M 'DisableSequence \[(\n|.)\t\]' {} + && failed=1 + if [ $failed = 1 ]; then echo "UCM validation failed" exit 1