1+ name : Prepare Release
2+ on :
3+ push :
4+ branches : [ release ]
5+ paths-ignore :
6+ - ' **.md'
7+
8+ jobs :
9+ calculate_next_version :
10+ name : Calculate next release version
11+ runs-on : ubuntu-latest
12+ outputs :
13+ version : ${{ steps.version.outputs.next-version }}
14+ steps :
15+ - name : calculate next version
16+ id : version
17+ uses : patrickjahns/version-drafter-action@v1
18+ env :
19+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
20+
21+ draft_release :
22+ name : Create draft release
23+ runs-on : ubuntu-latest
24+ needs : calculate_next_version
25+ steps :
26+ - name : draft release
27+ uses : release-drafter/release-drafter@v5
28+ with :
29+ version : ${{ format('{0}', needs.calculate_next_version.outputs.version) }}
30+ tag : ${{ format('{0}', needs.calculate_next_version.outputs.version) }}
31+ name : ${{ format('{0}', needs.calculate_next_version.outputs.version) }}
32+ env :
33+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
34+
35+ update_changelog :
36+ name : Update changelog
37+ runs-on : ubuntu-latest
38+ needs : calculate_next_version
39+ steps :
40+ - name : checkout
41+ uses : actions/checkout@v2
42+
43+ - name : create changelog
44+ uses : charmixer/auto-changelog-action@v1.1
45+ with :
46+ token : ${{ secrets.GITHUB_TOKEN }}
47+ exclude_labels : " duplicate,question,invalid,wontfix,skip-changelog"
48+ future_release : ${{ format('{0}', needs.calculate_next_version.outputs.version) }}
49+ release_branch : ' release'
50+
51+ - name : commit updated changelog
52+ uses : EndBug/add-and-commit@v6.2.0
53+ with :
54+ message : " [CHANGELOG] Updated changelog"
55+ add : " CHANGELOG.md"
56+ signoff : true
57+ token : ${{ secrets.GITHUB_TOKEN }}
0 commit comments