Skip to content

Commit ef04cc2

Browse files
authored
Add tagging (#3)
1 parent b8d973c commit ef04cc2

2 files changed

Lines changed: 55 additions & 0 deletions

File tree

.github/workflows/tag.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Tag
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
10+
tag:
11+
name: Create Release
12+
runs-on: ubuntu-latest
13+
steps:
14+
15+
- name: Check out code
16+
uses: actions/checkout@v2
17+
with:
18+
fetch-depth: 0
19+
20+
- name: Generate list of changes
21+
run: scripts/generate_release_notes.sh > .release.md
22+
23+
- name: Create Github Release
24+
uses: actions/create-release@v1
25+
env:
26+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27+
with:
28+
tag_name: ${{ github.ref }}
29+
release_name: ${{ github.ref }}
30+
body_path: ./.release.md
31+

scripts/generate_release_notes.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/usr/bin/env bash
2+
3+
GITHUB_REF=${GITHUB_REF:-HEAD}
4+
5+
git rev-parse $GITHUB_REF > /dev/null 2>&1
6+
if [ $? != 0 ]
7+
then
8+
echo "\$GITHUB_REF is invalid"
9+
exit 1
10+
fi
11+
12+
if [[ $GITHUB_REF = refs/tags/* ]]
13+
then
14+
# previous tag
15+
export PREVIOUS_REF=$(git tag --sort=refname --format='%(refname)' | grep $GITHUB_REF -B 1 | grep -m1 "")
16+
else
17+
# latest tag
18+
export PREVIOUS_REF=$(git tag --sort=-refname --format='%(refname)' | grep -m1 "")
19+
fi
20+
21+
cat <<EOF | sed '/Merge pull request/d'
22+
## Changes
23+
$(git log $GITHUB_REF...$PREVIOUS_REF --format="- [%h](../../commit/%h) %s")
24+
EOF

0 commit comments

Comments
 (0)