@@ -53,19 +53,31 @@ jobs:
53
53
DATE=$(date +%Y-%m-%d)
54
54
echo "Generating changelog entry for date: $DATE"
55
55
56
- # Increment patch version
56
+ # Increment version based on PR title
57
57
IFS='.' read -r major minor patch <<< "$CURRENT_VERSION"
58
- NEW_VERSION="${major}.${minor}.$((patch + 1))"
58
+ PR_TITLE="${{ steps.pr-info.outputs.title }}"
59
+ echo "Processing PR title: $PR_TITLE"
60
+
61
+ if [[ "$PR_TITLE" == *"!"* || "$PR_TITLE" == *"BREAKING CHANGE"* ]]; then
62
+ echo "Detected breaking change, incrementing major version"
63
+ NEW_VERSION="$((major + 1)).0.0"
64
+ elif [[ "$PR_TITLE" == *"feat:"* || "$PR_TITLE" == *"feature:"* ]]; then
65
+ echo "Detected new feature, incrementing minor version"
66
+ NEW_VERSION="${major}.$((minor + 1)).0"
67
+ else
68
+ echo "Detected patch change, incrementing patch version"
69
+ NEW_VERSION="${major}.${minor}.$((patch + 1))"
70
+ fi
71
+
59
72
echo "New version will be: $NEW_VERSION"
60
73
61
74
# Create new changelog entry
62
75
NEW_ENTRY="## [v${NEW_VERSION}] - ${DATE}\n\n"
63
76
64
77
# Determine change type from PR title
65
- PR_TITLE="${{ steps.pr-info.outputs.title }}"
66
- echo "Processing PR title: $PR_TITLE"
67
-
68
- if [[ "$PR_TITLE" == *"feat:"* || "$PR_TITLE" == *"feature:"* ]]; then
78
+ if [[ "$PR_TITLE" == *"!"* || "$PR_TITLE" == *"BREAKING CHANGE"* ]]; then
79
+ CHANGE_TYPE="Breaking Change"
80
+ elif [[ "$PR_TITLE" == *"feat:"* || "$PR_TITLE" == *"feature:"* ]]; then
69
81
CHANGE_TYPE="Added"
70
82
elif [[ "$PR_TITLE" == *"fix:"* ]]; then
71
83
CHANGE_TYPE="Fixed"
0 commit comments