🐛 fix: make badge update script cross-platform compatible
- Detect macOS vs Linux sed syntax automatically - Use appropriate sed command for each platform - Fixes workflow failure in Docker container macOS: sed -i '' (BSD sed) Linux: sed -i (GNU sed)
This commit is contained in:
@@ -25,21 +25,32 @@ if [ -n "$UNIT_COVERAGE" ]; then
|
||||
echo " Unit: ${UNIT_COVERAGE}%"
|
||||
fi
|
||||
|
||||
# Cross-platform sed command
|
||||
# Detect if we're on macOS (BSD sed) or Linux (GNU sed)
|
||||
SED_CMD=""
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
# macOS - requires empty string after -i
|
||||
SED_CMD="sed -i ''"
|
||||
else
|
||||
# Linux - standard GNU sed
|
||||
SED_CMD="sed -i"
|
||||
fi
|
||||
|
||||
# Update BDD coverage badge if provided
|
||||
if [ -n "$BDD_COVERAGE" ] && grep -q "BDD_Coverage" README.md; then
|
||||
sed -i '' "s/BDD_Coverage-[0-9.]\+-%/BDD_Coverage-${BDD_COVERAGE}-%/g" README.md
|
||||
$SED_CMD "s/BDD_Coverage-[0-9.]\+-%/BDD_Coverage-${BDD_COVERAGE}-%/g" README.md
|
||||
echo "✅ BDD coverage badge updated to ${BDD_COVERAGE}%"
|
||||
fi
|
||||
|
||||
# Update Unit coverage badge if provided
|
||||
if [ -n "$UNIT_COVERAGE" ] && grep -q "Unit_Coverage" README.md; then
|
||||
sed -i '' "s/Unit_Coverage-[0-9.]\+-%/Unit_Coverage-${UNIT_COVERAGE}-%/g" README.md
|
||||
$SED_CMD "s/Unit_Coverage-[0-9.]\+-%/Unit_Coverage-${UNIT_COVERAGE}-%/g" README.md
|
||||
echo "✅ Unit coverage badge updated to ${UNIT_COVERAGE}%"
|
||||
fi
|
||||
|
||||
# Update main coverage badge if BDD coverage provided
|
||||
if [ -n "$BDD_COVERAGE" ] && grep -q "coverage-[0-9.]\+-%" README.md; then
|
||||
sed -i '' "s/coverage-[0-9.]\+-%/coverage-${BDD_COVERAGE}-%/g" README.md
|
||||
$SED_CMD "s/coverage-[0-9.]\+-%/coverage-${BDD_COVERAGE}-%/g" README.md
|
||||
echo "✅ Main coverage badge updated to ${BDD_COVERAGE}%"
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user