Skip to content

Commit 8edc60d

Browse files
authored
Merge pull request #17 from buildrun-tech/feature/updates-readme
cd: fix the step of generate release version
2 parents b95ccf3 + c4647e9 commit 8edc60d

File tree

1 file changed

+26
-17
lines changed

1 file changed

+26
-17
lines changed

.github/workflows/cd.yml

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -98,14 +98,14 @@ jobs:
9898
echo "NEW VERSION SHOULD BE => $new_version"
9999
echo "::set-output name=new_version::$new_version"
100100
101-
- name: Determine commits since last tag
102-
id: commits
101+
- name: Get previous tag
102+
id: previous_tag
103103
run: |
104-
last_tag=$(git describe --abbrev=0 --tags)
105-
commit_range="${last_tag}..HEAD"
106-
git log --pretty=format:"%h %s" "$commit_range" > commits.txt
104+
previous_tag=$(git describe --abbrev=0 --tags ${{ steps.version.outputs.new_version }}^)
105+
echo "::set-output name=previous_tag::$previous_tag"
107106
108107
- name: Create new tag
108+
id: new_tag
109109
if: steps.commits.outputs.new_version != '0.0.0'
110110
run: git tag -a ${{ steps.version.outputs.new_version }} -m "Version ${{ steps.version.outputs.new_version }}"
111111
env:
@@ -114,30 +114,39 @@ jobs:
114114
- name: Generate release notes
115115
id: release_notes
116116
run: |
117-
while IFS= read -r line; do
118-
commit_hash=$(echo "$line" | awk '{print $1}')
119-
commit_msg=$(echo "$line" | awk '{$1=""; print $0}')
120-
case "$commit_msg" in
117+
echo "## What's changed" > release_notes.md
118+
git log --pretty=format:"%h %s" ${{ steps.previous_tag.outputs.previous_tag }}..${{ steps.version.outputs.new_version }} | \
119+
while read line; do
120+
case "$line" in
121121
*'feat:'*)
122-
echo "* **Feature:** ${commit_msg#*:}"
122+
echo "* **Feature:** ${line#*:}" >> release_notes.md
123123
;;
124124
*'fix:'*)
125-
echo "* **Fix:** ${commit_msg#*:}"
125+
echo "* **Fix:** ${line#*:}" >> release_notes.md
126126
;;
127127
*'BREAKING CHANGE:'*)
128-
echo "* **Breaking Change:** ${commit_msg#*:}"
128+
echo "* **Breaking Change:** ${line#*:}" >> release_notes.md
129129
;;
130130
*)
131-
echo "* ${commit_msg}"
131+
echo "* ${line}" >> release_notes.md
132132
;;
133133
esac
134-
done < commits.txt > release_notes.txt
134+
done
135+
136+
echo "" >> release_notes.md
137+
echo "## New contributors" >> release_notes.md
138+
git log --format="%an" ${{ steps.previous_tag.outputs.previous_tag }}..${{ steps.version.outputs.new_version }} | sort -u >> release_notes.md
139+
140+
echo "" >> release_notes.md
141+
echo "## Contributors" >> release_notes.md
142+
git log --format="%an" | sort -u >> release_notes.md
143+
135144
continue-on-error: false
136145

137146
- name: Debug release notes
138147
id: debug_release_notes
139148
run: |
140-
cat release_notes.txt
149+
cat release_notes.md
141150
continue-on-error: false
142151

143152
- name: Push new tag
@@ -155,6 +164,6 @@ jobs:
155164
tag_name: ${{ steps.version.outputs.new_version }}
156165
release_name: Release ${{ steps.version.outputs.new_version }}
157166
body: |
158-
Release notes for version ${{ steps.version.outputs.new_version }}:
159-
cat release_notes.txt
167+
ls
168+
cat release_notes.md
160169
token: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)