Skip to content

Commit 07f6b25

Browse files
authored
Merge pull request #8 from Revolyssup/revolyssup/sync-1.05
ci: add release workflow
2 parents cebbd81 + 5e3f0aa commit 07f6b25

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

.github/workflows/release.yaml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
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

0 commit comments

Comments
 (0)