Skip to content

Commit 85edc8d

Browse files
authored
Merge pull request #187 from v2er-app/bugfix/workflow-regex-compatibility
fix: use POSIX regex for cross-platform compatibility
2 parents e6d675f + aa532da commit 85edc8d

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

.github/workflows/release.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ jobs:
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
@@ -77,8 +77,8 @@ jobs:
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

Comments
 (0)