Skip to content

Commit f557e22

Browse files
committed
chore: bump version number (v2024.3.5 -> v2024.3.6)
feat: added automatic release notes generation
1 parent 7640d77 commit f557e22

File tree

2 files changed

+58
-1
lines changed

2 files changed

+58
-1
lines changed

.github/workflows/prerelease_on_version_bump.yaml

+57
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,63 @@ jobs:
3535
id: previous_version
3636
run: echo "PREVIOUS_VERSION=$(git show HEAD~:custom_components/$DOMAIN/manifest.json | jq -r '.version')" >> $GITHUB_ENV
3737

38+
- name: Collect Changes
39+
if: ${{ env.CURRENT_VERSION != env.PREVIOUS_VERSION }}
40+
id: collect_changes
41+
run: |
42+
PREVIOUS_TAG=$(git rev-list -n 1 v${{ env.PREVIOUS_VERSION }})
43+
CURRENT_SHA=${{ github.sha }}
44+
if [ -z "$PREVIOUS_TAG" ]; then
45+
# Fallback in case there's no previous tag
46+
CHANGELOG=$(git log --pretty=format:"%s%n%b" $(git rev-list --max-parents=0 HEAD)..$CURRENT_SHA)
47+
else
48+
CHANGELOG=$(git log --pretty=format:"%s%n%b" $PREVIOUS_TAG..$CURRENT_SHA)
49+
fi
50+
51+
# Initialize section variables
52+
ALL_FEATURES=""
53+
ALL_FIXES=""
54+
ALL_CHANGES=""
55+
ALL_OTHER=""
56+
57+
# Process each commit message
58+
echo "$CHANGELOG" | while IFS= read -r line; do
59+
if [[ "$line" == "feat"* ]]; then
60+
ALL_FEATURES+="- $line\n"
61+
elif [[ "$line" == "fix"* ]]; then
62+
ALL_FIXES+="- $line\n"
63+
elif [[ "$line" == "refactor"* ]]; then
64+
ALL_CHANGES+="- $line\n"
65+
else
66+
ALL_OTHER+="- $line\n"
67+
fi
68+
done
69+
70+
# Start with an empty formatted changelog
71+
FORMATTED_CHANGELOG=""
72+
73+
# Add sections if not empty
74+
if [ ! -z "$ALL_FEATURES" ]; then
75+
FORMATTED_CHANGELOG+="## :new: Нововведения\n\n${ALL_FEATURES}\n"
76+
fi
77+
if [ ! -z "$ALL_FIXES" ]; then
78+
FORMATTED_CHANGELOG+="## :bug: Исправления\n\n${ALL_FIXES}\n"
79+
fi
80+
if [ ! -z "$ALL_CHANGES" ]; then
81+
FORMATTED_CHANGELOG+="## :wrench: Изменения\n\n${ALL_CHANGES}"
82+
fi
83+
if [ ! -z "$ALL_OTHER" ]; then
84+
FORMATTED_CHANGELOG+="## :information_source: Примечания\n\n${ALL_OTHER}"
85+
fi
86+
87+
# Trim the last newline
88+
FORMATTED_CHANGELOG=$(echo -e "$FORMATTED_CHANGELOG" | sed '$d')
89+
90+
# Save to GITHUB_ENV
91+
echo "FORMATTED_CHANGELOG<<EOF" >> $GITHUB_ENV
92+
echo -e "$FORMATTED_CHANGELOG" >> $GITHUB_ENV
93+
echo "EOF" >> $GITHUB_ENV
94+
3895
- name: Create Tag
3996
if: ${{ env.CURRENT_VERSION != env.PREVIOUS_VERSION }}
4097
uses: actions/github-script@v7

custom_components/pandora_cas/manifest.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
"haversine~=2.8.0",
1515
"pandora-cas==0.0.7"
1616
],
17-
"version": "2024.3.5"
17+
"version": "2024.3.6"
1818
}

0 commit comments

Comments
 (0)