5555 if : github.event_name == 'push'
5656 run : |
5757 # Get current version from config.gradle with error handling
58- CURRENT_VERSION=$(grep versionName config.gradle | sed -E 's/.*versionName:\s *"([^"]+)".*/\1/' || echo "")
59- CURRENT_CODE=$(grep versionCode config.gradle | sed -E 's/.*versionCode:\s *([0-9]+).*/\1/' || echo "")
58+ CURRENT_VERSION=$(grep versionName config.gradle | sed -E 's/.*versionName:[[:space:]] *"([^"]+)".*/\1/' || echo "")
59+ CURRENT_CODE=$(grep versionCode config.gradle | sed -E 's/.*versionCode:[[:space:]] *([0-9]+).*/\1/' || echo "")
6060
6161 # Validate extraction was successful
6262 if [ -z "$CURRENT_VERSION" ] || [ -z "$CURRENT_CODE" ]; then
7777 if git rev-parse HEAD~1 >/dev/null 2>&1; then
7878 git show HEAD~1:config.gradle > prev_config.gradle 2>/dev/null || echo "No previous config.gradle"
7979 if [ -f prev_config.gradle ]; then
80- PREV_VERSION=$(grep versionName prev_config.gradle | sed -E 's/.*versionName:\s *"([^"]+)".*/\1/' || echo "")
81- PREV_CODE=$(grep versionCode prev_config.gradle | sed -E 's/.*versionCode:\s *([0-9]+).*/\1/' || echo "0")
80+ PREV_VERSION=$(grep versionName prev_config.gradle | sed -E 's/.*versionName:[[:space:]] *"([^"]+)".*/\1/' || echo "")
81+ PREV_CODE=$(grep versionCode prev_config.gradle | sed -E 's/.*versionCode:[[:space:]] *([0-9]+).*/\1/' || echo "0")
8282 rm prev_config.gradle
8383 else
8484 PREV_VERSION=""
@@ -133,7 +133,7 @@ jobs:
133133 VERSION_CODE="${{ steps.check_version.outputs.version_code }}"
134134 else
135135 # Only extract if not already available (for workflow_dispatch)
136- VERSION_CODE=$(grep "versionCode:" config.gradle | sed -E 's/.*versionCode:\s *([0-9]+).*/\1/')
136+ VERSION_CODE=$(grep "versionCode:" config.gradle | sed -E 's/.*versionCode:[[:space:]] *([0-9]+).*/\1/')
137137 fi
138138 echo "version_code=$VERSION_CODE" >> $GITHUB_OUTPUT
139139 echo "Version Code: $VERSION_CODE"
@@ -155,7 +155,7 @@ jobs:
155155 fi
156156
157157 # Check if changelog has entry for this version (with optional build number)
158- if grep -qE "^##\s +v?${VERSION_NUMBER}(\s +\(Build\s +[0-9]+\))?\s *$" CHANGELOG.md; then
158+ if grep -qE "^##[[:space:]] +v?${VERSION_NUMBER}([[:space:]] +\(Build[[:space:]] +[0-9]+\))?[[:space:]] *$" CHANGELOG.md; then
159159 echo "✅ Changelog entry found for version $VERSION_NUMBER"
160160 echo "changelog_valid=true" >> $GITHUB_OUTPUT
161161 else
@@ -167,7 +167,7 @@ jobs:
167167 echo "1. Feature/Fix: Description of changes"
168168 echo ""
169169 echo "Available versions in CHANGELOG.md:"
170- grep -E "^##\s +v?\d +\.\d +\.\d +" CHANGELOG.md || echo " (none found)"
170+ grep -E "^##[[:space:]] +v?[0-9] +\.[0-9] +\.[0-9] +" CHANGELOG.md || echo " (none found)"
171171 exit 1
172172 fi
173173
@@ -416,17 +416,17 @@ jobs:
416416 [ -z "$line" ] && continue
417417
418418 # Extract type and description
419- if echo "$line" | grep -qE "^[0-9]+\.\s +Feature:"; then
420- desc=$(echo "$line" | sed -E 's/^[0-9]+\.\s +Feature:\s *//')
419+ if echo "$line" | grep -qE "^[0-9]+\.[[:space:]] +Feature:"; then
420+ desc=$(echo "$line" | sed -E 's/^[0-9]+\.[[:space:]] +Feature:[[:space:]] *//')
421421 features="${features}* ${desc}\n"
422- elif echo "$line" | grep -qE "^[0-9]+\.\s +Fix:"; then
423- desc=$(echo "$line" | sed -E 's/^[0-9]+\.\s +Fix:\s *//')
422+ elif echo "$line" | grep -qE "^[0-9]+\.[[:space:]] +Fix:"; then
423+ desc=$(echo "$line" | sed -E 's/^[0-9]+\.[[:space:]] +Fix:[[:space:]] *//')
424424 fixes="${fixes}* ${desc}\n"
425- elif echo "$line" | grep -qE "^[0-9]+\.\s +Improvement:"; then
426- desc=$(echo "$line" | sed -E 's/^[0-9]+\.\s +Improvement:\s *//')
425+ elif echo "$line" | grep -qE "^[0-9]+\.[[:space:]] +Improvement:"; then
426+ desc=$(echo "$line" | sed -E 's/^[0-9]+\.[[:space:]] +Improvement:[[:space:]] *//')
427427 improvements="${improvements}* ${desc}\n"
428- elif echo "$line" | grep -qE "^[0-9]+\.\s +Breaking:"; then
429- desc=$(echo "$line" | sed -E 's/^[0-9]+\.\s +Breaking:\s *//')
428+ elif echo "$line" | grep -qE "^[0-9]+\.[[:space:]] +Breaking:"; then
429+ desc=$(echo "$line" | sed -E 's/^[0-9]+\.[[:space:]] +Breaking:[[:space:]] *//')
430430 features="${features}* **BREAKING**: ${desc}\n"
431431 fi
432432 done < /tmp/raw_changelog.txt
@@ -559,15 +559,15 @@ jobs:
559559 echo "$content" | while IFS= read -r line; do
560560 [ -z "$line" ] && continue
561561 # Convert "1. Feature: xxx" to "• xxx"
562- if echo "$line" | grep -qE "^[0-9]+\.\s +(Feature|Fix|Improvement|Breaking):"; then
563- desc=$(echo "$line" | sed -E 's/^[0-9]+\.\s +(Feature|Fix|Improvement|Breaking):\s *//')
562+ if echo "$line" | grep -qE "^[0-9]+\.[[:space:]] +(Feature|Fix|Improvement|Breaking):"; then
563+ desc=$(echo "$line" | sed -E 's/^[0-9]+\.[[:space:]] +(Feature|Fix|Improvement|Breaking):[[:space:]] *//')
564564 echo "• $desc"
565565 fi
566566 done
567567 }
568568
569569 # Get all versions from CHANGELOG.md (up to 3)
570- VERSIONS=($(grep -E "^##\s +v?[0-9]+\.[0-9]+\.[0-9]+" CHANGELOG.md | sed -E 's/^##\s +v?([0-9]+\.[0-9]+\.[0-9]+).*/\1/' | head -3))
570+ VERSIONS=($(grep -E "^##[[:space:]] +v?[0-9]+\.[0-9]+\.[0-9]+" CHANGELOG.md | sed -E 's/^##[[:space:]] +v?([0-9]+\.[0-9]+\.[0-9]+).*/\1/' | head -3))
571571 echo "Found versions in CHANGELOG.md: ${VERSIONS[*]}"
572572
573573 # Build whatsnew content
0 commit comments