Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
40 lines
1.2 KiB
Bash
Executable File
40 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# KISS coverage badge updater using line numbers
|
|
# Usage: scripts/ci-update-coverage-badge.sh <coverage_percentage> [badge_type]
|
|
# badge_type: "unit" or "bdd", defaults to "unit"
|
|
|
|
set -e
|
|
|
|
COVERAGE=$1
|
|
BADGE_TYPE=${2:-"unit"}
|
|
|
|
# Get first line number of the badge
|
|
LINE_NUM=$(cat -n README.md | grep -i "${BADGE_TYPE} coverage" | head -1 | awk '{print $1}')
|
|
|
|
if [ -z "$LINE_NUM" ]; then
|
|
echo "Error: Could not find ${BADGE_TYPE} coverage badge in README.md"
|
|
exit 1
|
|
fi
|
|
|
|
# Get color
|
|
if (( $(echo "$COVERAGE >= 80" | bc -l) )); then
|
|
COLOR="brightgreen"
|
|
elif (( $(echo "$COVERAGE >= 50" | bc -l) )); then
|
|
COLOR="yellow"
|
|
else
|
|
COLOR="red"
|
|
fi
|
|
|
|
# Create badge markdown
|
|
BADGE_TYPE_UPPER=$(echo "$BADGE_TYPE" | tr '[:lower:]' '[:upper:]')
|
|
BADGE_MARKDOWN="[](https://gitea.arcodange.lab/arcodange/dance-lessons-coach)"
|
|
|
|
# Replace the line using sed
|
|
if [[ "$(uname)" == "Darwin" ]]; then
|
|
sed -i '' "${LINE_NUM}s|.*|${BADGE_MARKDOWN}|" README.md
|
|
else
|
|
sed -i "${LINE_NUM}s|.*|${BADGE_MARKDOWN}|" README.md
|
|
fi
|
|
|
|
echo "Updated ${BADGE_TYPE} coverage badge to ${COVERAGE}% (line ${LINE_NUM})"
|