Skip to content

Commit f98e3ff

Browse files
committed
chore: bump version number (v2024.3.5 -> v2024.3.6)
feat: added automatic release notes generation fix: fixed version generation refactor: removed redundant tag creation action
1 parent 7640d77 commit f98e3ff

File tree

2 files changed

+75
-16
lines changed

2 files changed

+75
-16
lines changed

.github/workflows/prerelease_on_version_bump.yaml

+74-15
Original file line numberDiff line numberDiff line change
@@ -35,31 +35,90 @@ 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: Create Tag
38+
- name: Collect Changes
3939
if: ${{ env.CURRENT_VERSION != env.PREVIOUS_VERSION }}
40-
uses: actions/github-script@v7
41-
with:
42-
script: |
43-
const version = '${{ steps.current_version.outputs.version }}';
44-
github.rest.git.createRef({
45-
owner: context.repo.owner,
46-
repo: context.repo.repo,
47-
ref: `refs/tags/v${version}`,
48-
sha: '${{ github.sha }}'
49-
});
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 "Processing changelog"
59+
echo "$CHANGELOG" | uniq | while IFS= read -r line; do
60+
if [[ "$line" == "feat"* ]]; then
61+
echo "Adding features line: $line"
62+
ALL_FEATURES="${ALL_FEATURES}- $line\n"
63+
elif [[ "$line" == "fix"* ]]; then
64+
echo "Adding fixes line: $line"
65+
ALL_FIXES="${ALL_FIXES}- $line\n"
66+
elif [[ "$line" == "refactor"* ]]; then
67+
echo "Adding changes line: $line"
68+
ALL_CHANGES="${ALL_CHANGES}- $line\n"
69+
elif [[ ! -z "$line" ]]; then
70+
echo "Adding others line: $line"
71+
ALL_OTHER="${ALL_OTHER}- $line\n"
72+
fi
73+
done
74+
75+
# Start with an empty formatted changelog
76+
CHANGELOG=""
77+
78+
# Add sections if not empty
79+
if [ -z "${ALL_FEATURES}" ]; then
80+
CHANGELOG="${CHANGELOG}## :new: Нововведения\n\n${ALL_FEATURES}\n"
81+
else
82+
echo "All features are empty: ${ALL_FEATURES}"
83+
fi
84+
if [ ! -z "${ALL_FIXES}" ]; then
85+
CHANGELOG="${CHANGELOG}## :bug: Исправления\n\n${ALL_FIXES}\n"
86+
else
87+
echo "All fixes are empty: ${ALL_FIXES}"
88+
fi
89+
if [ ! -z "${ALL_CHANGES}" ]; then
90+
CHANGELOG="${CHANGELOG}## :wrench: Изменения\n\n${ALL_CHANGES}"
91+
else
92+
echo "All changes are empty: ${ALL_CHANGES}"
93+
fi
94+
if [ ! -z "${ALL_OTHER}" ]; then
95+
CHANGELOG="${CHANGELOG}## :information_source: Примечания\n\n${ALL_OTHER}"
96+
else
97+
echo "All other are empty: ${ALL_OTHER}"
98+
fi
99+
100+
echo "Resulting changelog:"
101+
echo "$CHANGELOG"
102+
103+
# Save to GITHUB_ENV
104+
{
105+
echo 'CHANGELOG<<EOF'
106+
echo -e "$CHANGELOG" | sed '$d'
107+
echo 'EOF'
108+
} >> $GITHUB_ENV
50109
51110
- name: Create Pre-release
52111
if: ${{ env.CURRENT_VERSION != env.PREVIOUS_VERSION }}
53112
uses: actions/github-script@v7
54113
with:
55114
script: |
56-
const version = '${{ steps.current_version.outputs.version }}';
115+
const {CHANGELOG, CURRENT_VERSION} = process.env;
57116
github.rest.repos.createRelease({
58117
owner: context.repo.owner,
59118
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<!-- ... -->",
119+
tag_name: `v${CURRENT_VERSION}`,
120+
name: `v${CURRENT_VERSION}`,
121+
body: `${CHANGELOG}`,
63122
draft: false,
64123
prerelease: true,
65124
});

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)