Skip to content

Commit 266e599

Browse files
authored
Merge pull request #1 from der-eismann/add-rpm-package-build
Add RPM packaging to workflow
2 parents a0fd397 + 2f8b73e commit 266e599

File tree

1 file changed

+30
-8
lines changed

1 file changed

+30
-8
lines changed

.github/workflows/ci.yaml

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@ name: Release
33
on: workflow_dispatch
44

55
env:
6-
FPM_OPTS: >-
7-
-s dir --prefix '/usr' -n kvrocks --verbose -a native
8-
--config-files /usr/share/kvrocks/kvrocks.conf
9-
--description 'A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol'
6+
DEB_FPM_OPTS: >-
7+
--prefix '/usr'
8+
--config-files /usr/share/kvrocks/kvrocks.conf
9+
COMMON_FPM_OPTS: >-
10+
-s dir -n kvrocks --verbose -a native
11+
--description 'A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol'
1012
--url 'https://kvrocks.apache.org' --license 'Apache-2.0'
1113
1214
jobs:
1315
release-packages:
14-
name: Release DEB Package
16+
name: Release DEB & RPM Package
1517
runs-on: ubuntu-20.04
1618
steps:
1719
- uses: actions/[email protected]
@@ -33,7 +35,7 @@ jobs:
3335
cd kvrocks
3436
./x.py build -DPORTABLE=1 -DCMAKE_BUILD_TYPE=Release -j $(nproc)
3537
36-
- name: Make release directory
38+
- name: Make DEB release directory
3739
run: |
3840
mkdir release
3941
mkdir release/bin release/share
@@ -44,11 +46,30 @@ jobs:
4446
cp -r kvrocks/LICENSE kvrocks/NOTICE kvrocks/licenses release/share/kvrocks
4547
cp kvrocks/utils/systemd/kvrocks.service release/share/kvrocks
4648
47-
- name: Package Deb
49+
- name: Package DEB
4850
uses: bpicode/[email protected]
4951
with:
5052
fpm_args: '.'
51-
fpm_opts: '-t deb -v ${{ env.VERSION }} --iteration ${{ env.ITERATION }} -C release ${{ env.FPM_OPTS }}'
53+
fpm_opts: '-t deb -v ${{ env.VERSION }} --iteration ${{ env.ITERATION }} -C release ${{ env.COMMON_FPM_OPTS }} ${{ env.DEB_FPM_OPTS }}'
54+
55+
- name: Make RPM release directory
56+
run: |
57+
mkdir -p rpm-release/etc/kvrocks
58+
mkdir -p rpm-release/usr/bin
59+
mkdir -p rpm-release/usr/lib/systemd/system
60+
mkdir -p rpm-release/usr/share/licenses/kvrocks
61+
62+
cp kvrocks/build/kvrocks rpm-release/usr/bin/
63+
cp kvrocks/build/kvrocks2redis rpm-release/usr/bin/
64+
cp kvrocks/kvrocks.conf rpm-release/etc/kvrocks/
65+
cp -r kvrocks/LICENSE kvrocks/NOTICE kvrocks/licenses/* rpm-release/usr/share/licenses/kvrocks/
66+
cp kvrocks/utils/systemd/kvrocks.service rpm-release/usr/lib/systemd/system/
67+
68+
- name: Package RPM
69+
uses: bpicode/[email protected]
70+
with:
71+
fpm_args: '.'
72+
fpm_opts: '-t rpm -v ${{ env.VERSION }} --iteration ${{ env.ITERATION }} -C rpm-release ${{ env.COMMON_FPM_OPTS }}'
5273

5374
- name: Release
5475
uses: softprops/[email protected]
@@ -57,5 +78,6 @@ jobs:
5778
${{ env.VERSION }}-${{ env.ITERATION }}
5879
files: |
5980
./*.deb
81+
./*.rpm
6082
env:
6183
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)