diff --git a/scripts/ci-update-coverage-badge.sh b/scripts/ci-update-coverage-badge.sh index 4f6a608..37e814a 100755 --- a/scripts/ci-update-coverage-badge.sh +++ b/scripts/ci-update-coverage-badge.sh @@ -71,7 +71,17 @@ if [ "$BADGE_TYPE" = "bdd" ] || [ "$BADGE_TYPE" = "unit" ]; then $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_CMD "/coverage-.*-.*?style=flat-square/a\\n${BADGE_URL}" README.md + # Use a more reliable approach with temporary file for cross-platform compatibility + TEMP_FILE=$(mktemp) + awk -v new_badge="${BADGE_URL}" ' + /coverage-.*-.*?style=flat-square/ { + print $0 + print new_badge + next + } + {print} + ' README.md > "$TEMP_FILE" + mv "$TEMP_FILE" README.md fi else # For combined coverage, use the original logic diff --git a/scripts/ci-version-bump.sh b/scripts/ci-version-bump.sh index cbe9a46..df3960b 100755 --- a/scripts/ci-version-bump.sh +++ b/scripts/ci-version-bump.sh @@ -40,7 +40,19 @@ fi # Update swagger version regardless of bump source VERSION NEW_VERSION="$MAJOR.$MINOR.$PATCH${PRERELEASE:+-$PRERELEASE}" -sed -i "s|// @version [0-9.]*|// @version $NEW_VERSION|" cmd/server/main.go + +# 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 + +$SED_CMD "s|// @version [0-9.]*|// @version $NEW_VERSION|" cmd/server/main.go # Commit version changes if bumped if [ "$VERSION_BUMPED" = "true" ]; then