Skip to content

Commit b4dc61f

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

File tree

2 files changed

+61
-5
lines changed

2 files changed

+61
-5
lines changed

.github/workflows/prerelease_on_version_bump.yaml

+60-4
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,62 @@ 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+
CHANGELOG=""
72+
73+
# Add sections if not empty
74+
if [ ! -z "$ALL_FEATURES" ]; then
75+
CHANGELOG+="## :new: Нововведения\n\n${ALL_FEATURES}\n"
76+
fi
77+
if [ ! -z "$ALL_FIXES" ]; then
78+
CHANGELOG+="## :bug: Исправления\n\n${ALL_FIXES}\n"
79+
fi
80+
if [ ! -z "$ALL_CHANGES" ]; then
81+
CHANGELOG+="## :wrench: Изменения\n\n${ALL_CHANGES}"
82+
fi
83+
if [ ! -z "$ALL_OTHER" ]; then
84+
CHANGELOG+="## :information_source: Примечания\n\n${ALL_OTHER}"
85+
fi
86+
87+
# Save to GITHUB_ENV
88+
{
89+
echo "CHANGELOG<<EOF"
90+
echo -e "$CHANGELOG" | sed '$d'
91+
echo "EOF"
92+
} >> "$GITHUB_ENV"
93+
3894
- name: Create Tag
3995
if: ${{ env.CURRENT_VERSION != env.PREVIOUS_VERSION }}
4096
uses: actions/github-script@v7
@@ -53,13 +109,13 @@ jobs:
53109
uses: actions/github-script@v7
54110
with:
55111
script: |
56-
const version = '${{ steps.current_version.outputs.version }}';
112+
const {CHANGELOG, CURRENT_VERSION} = process.env;
57113
github.rest.repos.createRelease({
58114
owner: context.repo.owner,
59115
repo: context.repo.repo,
60-
tag_name: `v${version}`,
61-
name: `v${version}`,
62-
body: "## :new: Нововведения\n\n<!-- ... -->\n\n## :bug: Исправления\n\n<!-- ... -->\n\n## :wrench: Изменения\n\n<!-- ... -->\n\n## :information_source: Примечания\n\n<!-- ... -->",
116+
tag_name: `v${CURRENT_VERSION}`,
117+
name: `v${CURRENT_VERSION}`,
118+
body: `${CHANGELOG}`,
63119
draft: false,
64120
prerelease: true,
65121
});

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)