Skip to content

Commit 4ee7ad4

Browse files
fix: improve release automation date format and changelog extraction
Release skill (.claude/skills/release/skill.sh): - Fixed changelog extraction using sed instead of awk to properly capture version content between section headers - Added 'v' prefix to release title to match previous releases (e.g., 'Release v3.4.3') - Updated final message to explicitly mention reviewing draft release and making it public with URL Prepare-release skill (.claude/skills/prepare-release/skill.sh): - Fixed date format to use ordinal suffixes (1st, 2nd, 3rd, etc.) - Removed leading zeros from day (e.g., 'May 1st, 2026' instead of 'May 01, 2026') - Aligns with existing CHANGELOG.md date formatting Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 59408aa commit 4ee7ad4

2 files changed

Lines changed: 19 additions & 6 deletions

File tree

.claude/skills/prepare-release/skill.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,20 @@ sed -i.bak "s/static const String version = '.*';/static const String version =
6969
sed -i.bak "s/optimizely_flutter_sdk: \^.*/optimizely_flutter_sdk: ^$NEW_VERSION/" README.md && rm README.md.bak
7070

7171
# Update CHANGELOG
72-
CURRENT_DATE=$(date "+%B %d, %Y")
72+
# Generate date with ordinal suffix (e.g., "May 1st, 2026")
73+
DAY=$(date "+%-d") # Day without leading zero
74+
MONTH=$(date "+%B")
75+
YEAR=$(date "+%Y")
76+
77+
# Add ordinal suffix
78+
case $DAY in
79+
1|21|31) SUFFIX="st" ;;
80+
2|22) SUFFIX="nd" ;;
81+
3|23) SUFFIX="rd" ;;
82+
*) SUFFIX="th" ;;
83+
esac
84+
85+
CURRENT_DATE="${MONTH} ${DAY}${SUFFIX}, ${YEAR}"
7386

7487
# Build CHANGELOG entries from PRs
7588
CHANGELOG_ENTRIES=""

.claude/skills/release/skill.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ flutter packages pub publish || error "Publishing failed"
4545
success "Published to pub.dev!"
4646

4747
# Extract CHANGELOG
48-
CHANGELOG_CONTENT=$(awk "/^## $VERSION/,/^## / {print}" CHANGELOG.md | sed '$d' | sed '1d')
48+
CHANGELOG_CONTENT=$(sed -n "/^## ${VERSION}\$/,/^## [0-9]/p" CHANGELOG.md | sed '1d;$d')
4949
[[ -z "$CHANGELOG_CONTENT" ]] && CHANGELOG_CONTENT="Release $VERSION\n\nSee CHANGELOG.md for details."
5050

5151
RELEASE_NOTES="## $VERSION
@@ -55,7 +55,7 @@ $CHANGELOG_CONTENT"
5555
# Create GitHub release
5656
info "Creating GitHub draft release..."
5757
GH_RELEASE_URL=$(gh release create "v${VERSION}" \
58-
--title "Release ${VERSION}" \
58+
--title "Release v${VERSION}" \
5959
--notes "$RELEASE_NOTES" \
6060
--target master \
6161
--draft \
@@ -73,7 +73,7 @@ echo "Pub.dev: https://pub.dev/packages/optimizely_flutter_sdk/versions/$VERSION
7373
echo "GitHub Release: $GH_RELEASE_URL"
7474
echo ""
7575
echo "Next Steps:"
76-
echo "1. 🔍 Verify package on pub.dev (1-3 minutes)"
77-
echo "2. ✏️ Review GitHub draft release"
78-
echo "3. ✅ Publish GitHub release"
76+
echo "1. 🔍 Verify package on pub.dev (may take 1-10 minutes to appear)"
77+
echo "2. ✏️ Review the draft release at: $GH_RELEASE_URL"
78+
echo "3. ✅ Make the draft release public once verified"
7979
echo ""

0 commit comments

Comments
 (0)