name: Conventional Commit Checker on: push: branches: - main - master - development jobs: conventional-commit-checker: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Get latest commit message run: | LATEST_COMMIT_MESSAGE=$(git log -1 --format=%s) echo "LATEST_COMMIT_MESSAGE=$LATEST_COMMIT_MESSAGE" >> $GITHUB_ENV - name: Check conventional commit message run: | conventional_types=("build" "chore" "ci" "docs" "feat" "fix" "perf" "refactor" "revert" "style" "test") commit_emojis=("build"="๐Ÿ—๏ธ" "chore"="๐Ÿงน" "ci"="๐Ÿค–" "docs"="๐Ÿ“š" "feat"="๐ŸŽ‰" "fix"="๐Ÿ”ง" "perf"="โšก๏ธ" "refactor"="๐Ÿ’ก" "revert"="๐Ÿšจ" "style"="๐Ÿ’„" "test"="๐Ÿงช") echo "LATEST_COMMIT_MESSAGE: $LATEST_COMMIT_MESSAGE" for type in "${conventional_types[@]}"; do echo "Searching for pattern: ${commit_emojis[$type]} ${type}(:|:)" if echo "$LATEST_COMMIT_MESSAGE" | grep -qE "^${commit_emojis[$type]} ${type}(:|:)" ; then echo "Conventional commit message found: $LATEST_COMMIT_MESSAGE" exit 0 fi done echo "Error: Commit message is not conventional" exit 1 shell: /usr/bin/bash -e env: LATEST_COMMIT_MESSAGE: ๐Ÿ”ง fix(workflows): debug for continued issue