diff --git a/scripts/ci-update-coverage-badge.sh b/scripts/ci-update-coverage-badge.sh index a3ca23e..b15f70b 100755 --- a/scripts/ci-update-coverage-badge.sh +++ b/scripts/ci-update-coverage-badge.sh @@ -40,18 +40,29 @@ if grep -q "${BADGE_TYPE}_Coverage-${COVERAGE}%" README.md || grep -q "coverage- exit 0 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 README - handle both old and new badge formats if [ "$BADGE_TYPE" = "bdd" ] || [ "$BADGE_TYPE" = "unit" ]; then # For BDD/Unit badges, add them if they don't exist, or update if they do if grep -q "${BADGE_TYPE}_Coverage" README.md; then - sed -i "s|https://img.shields.io/badge/${BADGE_TYPE}_Coverage-.*-.*?style=flat-square|${BADGE_URL}|" README.md + $SED_CMD "s|https://img.shields.io/badge/${BADGE_TYPE}_Coverage-.*-.*?style=flat-square|${BADGE_URL}|" README.md else # Add new badge line after the main coverage badge - sed -i "/coverage-.*-.*?style=flat-square/a\\n${BADGE_URL}" README.md + $SED_CMD "/coverage-.*-.*?style=flat-square/a\\n${BADGE_URL}" README.md fi else # For combined coverage, use the original logic - sed -i "s|https://img.shields.io/badge/coverage-.*-.*?style=flat-square|${BADGE_URL}|" README.md + $SED_CMD "s|https://img.shields.io/badge/coverage-.*-.*?style=flat-square|${BADGE_URL}|" README.md fi # Set up git