File tree Expand file tree Collapse file tree 1 file changed +55
-0
lines changed Expand file tree Collapse file tree 1 file changed +55
-0
lines changed Original file line number Diff line number Diff line change
1
+ name : Release
2
+
3
+ on :
4
+ push :
5
+ branches :
6
+ - " devel"
7
+ paths :
8
+ - ' rockspec/**'
9
+
10
+ jobs :
11
+ release :
12
+ name : Release
13
+ runs-on : ubuntu-latest
14
+ steps :
15
+ - name : Checkout code
16
+ uses : actions/checkout@v2
17
+
18
+ - name : Install Lua
19
+ uses : leafo/gh-actions-lua@v8
20
+
21
+ - name : Install Luarocks
22
+ uses : leafo/gh-actions-luarocks@v4
23
+
24
+ - name : Extract release version
25
+ id : release_env
26
+ shell : bash
27
+ run : |
28
+ title="${{ github.event.head_commit.message }}"
29
+ re="^feat: release v*(\S+)"
30
+ if [[ $title =~ $re ]]; then
31
+ v=v${BASH_REMATCH[1]}
32
+ echo "version=$v" >> $GITHUB_OUTPUT
33
+ echo "version_without_v=${BASH_REMATCH[1]}" >> $GITHUB_OUTPUT
34
+ else
35
+ echo "::error::Commit message must follow format: 'feat: release vX.Y.Z'"
36
+ exit 1
37
+ fi
38
+
39
+ - name : Create GitHub Release
40
+ uses : actions/create-release@v1
41
+ env :
42
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
43
+ with :
44
+ tag_name : ${{ steps.release_env.outputs.version }}
45
+ release_name : ${{ steps.release_env.outputs.version }}
46
+ draft : false
47
+ prerelease : false
48
+
49
+ - name : Publish to LuaRocks
50
+ env :
51
+ LUAROCKS_TOKEN : ${{ secrets.LUAROCKS_TOKEN }}
52
+ run : |
53
+ luarocks install dkjson # Add any required dependencies
54
+ luarocks upload rockspec/lua-resty-redis-cluster-${{ steps.release_env.outputs.version_without_v }}-0.rockspec \
55
+ --api-key=$LUAROCKS_TOKEN
You can’t perform that action at this time.
0 commit comments