1+ name : Create new Release
2+
3+ on :
4+ workflow_dispatch :
5+ inputs :
6+ versionIncrement :
7+ description : ' The new version. For example: 1.1.0'
8+ required : true
9+ default : ' '
10+ prerelease :
11+ description : ' Is this a pre-release?'
12+ type : boolean
13+ required : false
14+ default : false
15+
16+ jobs :
17+ release :
18+ name : Publish new release
19+ runs-on : ubuntu-latest
20+ steps :
21+
22+ - name : Checkout repository
23+ uses : actions/checkout@v3.2.0
24+ with :
25+ token : ${{ secrets.PAT }}
26+ persist-credentials : true
27+ fetch-depth : 0
28+
29+ - name : Get changelog entries
30+ id : changelog
31+ uses : mindsers/changelog-reader-action@v2.2.2
32+ with :
33+ version : Unreleased
34+ path : ./CHANGELOG.md
35+
36+ - name : Set up Go
37+ uses : actions/setup-go@v3
38+ with :
39+ go-version : 1.19
40+
41+ - name : Update CHANGELOG file
42+ uses : thomaseizinger/keep-a-changelog-new-release@1.3.0
43+ with :
44+ version : ${{ github.event.inputs.versionIncrement }}
45+
46+ - name : Set git config
47+ run : |
48+ git config --local user.email "linkdotnet@action.com"
49+ git config --local user.name "LinkDotNet Bot"
50+ - name : Commit changes and push changes
51+ run : |
52+ git add CHANGELOG.md
53+ git commit -m "Update Changelog.md for ${{github.event.inputs.versionIncrement}} release"
54+ git push origin main
55+ - name : Create release on GitHub
56+ uses : thomaseizinger/create-release@1.0.0
57+ env :
58+ GITHUB_TOKEN : ${{ secrets.PAT }}
59+ with :
60+ tag_name : v${{ github.event.inputs.versionIncrement }}
61+ target_commitish : ${{ env.RELEASE_COMMIT_HASH }}
62+ name : v${{ github.event.inputs.versionIncrement }}
63+ body : ${{ steps.changelog.outputs.changes }}
64+ draft : false
65+ prerelease : ${{ github.event.inputs.prerelease }}
0 commit comments