File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ name : Release
2+
3+ on :
4+ pull_request :
5+ types : [ closed ]
6+ branches : [ main ]
7+
8+ jobs :
9+ release :
10+ name : Release (on merge to main)
11+ runs-on : ubuntu-latest
12+ if : github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main'
13+ permissions :
14+ contents : write
15+ steps :
16+ - name : Checkout
17+ uses : actions/checkout@v4
18+ with :
19+ fetch-depth : 0
20+
21+ - name : Compute next tag
22+ id : version
23+ shell : bash
24+ run : |
25+ set -euo pipefail
26+ latest_tag="$(git tag --list 'v*.*.*' --sort=-v:refname | head -n 1)"
27+ if [[ -z "${latest_tag}" ]]; then
28+ next_tag="v1.0.0"
29+ else
30+ version="${latest_tag#v}"
31+ IFS='.' read -r major minor patch <<< "${version}"
32+ patch=$((patch + 1))
33+ next_tag="v${major}.${minor}.${patch}"
34+ fi
35+ echo "next_tag=${next_tag}" >> "${GITHUB_OUTPUT}"
36+
37+ - name : Create GitHub Release
38+ uses : softprops/action-gh-release@v2
39+ with :
40+ tag_name : ${{ steps.version.outputs.next_tag }}
41+ name : Release ${{ steps.version.outputs.next_tag }}
42+ generate_release_notes : true
You can’t perform that action at this time.
0 commit comments