fix(ci): make workflow robust to special characters in commit messages (#152)

The unified-pipeline workflow was failing when commit messages contained
special characters (like quotes in 'won\'t be transcribed'). The shell
pattern matching was fragile and would break on various characters.

Fix:
- Replace fragile glob pattern matching with grep case-insensitive search
- Look for common website-related commit prefixes:
  feat(website)
  docs(website)
  chore(website)
  fix(website)
  refactor(website)
- This is more robust and handles special characters gracefully
- Fix YAML formatting issue with blank line

This makes the CI workflow more reliable and less fragile.
This commit is contained in:
Jatin K Malik
2026-02-05 18:56:51 -08:00
committed by GitHub
parent fdf1de5180
commit 099f9d27ad
+4 -1
View File
@@ -48,10 +48,13 @@ jobs:
run: |
# Deploy if web files changed OR python files changed (for version updates)
COMMIT_MESSAGE="${{ github.event.head_commit.message }}"
# Escape the commit message properly for shell comparison
# Use case-insensitive matching with grep instead of glob patterns
if [[ "${{ steps.filter.outputs.web }}" == "true" ]] || \
[[ "${{ steps.filter.outputs.python }}" == "true" ]] || \
[[ "${{ github.event_name }}" == "workflow_dispatch" ]] || \
[[ "$COMMIT_MESSAGE" == *"[web]"* ]]; then
echo "$COMMIT_MESSAGE" | grep -iE "(feat\(website\)|docs\(website\)|chore\(website\)|fix\(website\)|refactor\(website\))"; then
echo "deploy=true" >> $GITHUB_OUTPUT
else
echo "deploy=false" >> $GITHUB_OUTPUT