Skip to content

Release

Release #15

Workflow file for this run

name: Release
on: workflow_dispatch
env:
DEB_FPM_OPTS: >-
--prefix '/usr'
--config-files /usr/share/kvrocks/kvrocks.conf
COMMON_FPM_OPTS: >-
-s dir -n kvrocks --verbose -a native
--description 'A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol'
--url 'https://kvrocks.apache.org' --license 'Apache-2.0'
jobs:
release-packages:
name: Release DEB & RPM Package
runs-on: ubuntu-20.04
steps:
- uses: actions/[email protected]
with:
fetch-depth: 64
- name: Install Dependencies
run: |
sudo apt-get install -y git build-essential cmake libtool python3
- name: Set env variables
run: |
echo "VERSION=$(cat VERSION)" >> $GITHUB_ENV
echo "ITERATION=$(cat ITERATION)" >> $GITHUB_ENV
- name: Build
run: |
git clone -b v$VERSION https://github.com/apache/kvrocks
cd kvrocks
./x.py build -DPORTABLE=1 -DCMAKE_BUILD_TYPE=Release -j $(nproc)
- name: Make DEB release directory
run: |
mkdir release
mkdir release/bin release/share
mkdir release/share/kvrocks
cp kvrocks/build/kvrocks release/bin/
cp kvrocks/build/kvrocks2redis release/bin/
cp kvrocks/kvrocks.conf release/share/kvrocks
cp -r kvrocks/LICENSE kvrocks/NOTICE kvrocks/licenses release/share/kvrocks
cp kvrocks/utils/systemd/kvrocks.service release/share/kvrocks
- name: Package DEB
uses: bpicode/[email protected]
with:
fpm_args: '.'
fpm_opts: '-t deb -v ${{ env.VERSION }} --iteration ${{ env.ITERATION }} -C release ${{ env.COMMON_FPM_OPTS }} ${{ env.DEB_FPM_OPTS }}'
- name: Make RPM release directory
run: |
mkdir -p rpm-release/etc/kvrocks
mkdir -p rpm-release/usr/bin
mkdir -p rpm-release/usr/lib/systemd/system
mkdir -p rpm-release/usr/share/licenses/kvrocks
cp kvrocks/build/kvrocks rpm-release/usr/bin/
cp kvrocks/build/kvrocks2redis rpm-release/usr/bin/
cp kvrocks/kvrocks.conf rpm-release/etc/kvrocks/
cp -r kvrocks/LICENSE kvrocks/NOTICE kvrocks/licenses/* rpm-release/usr/share/licenses/kvrocks/
cp kvrocks/utils/systemd/kvrocks.service rpm-release/usr/lib/systemd/system/
- name: Package RPM
uses: bpicode/[email protected]
with:
fpm_args: '.'
fpm_opts: '-t rpm -v ${{ env.VERSION }} --iteration ${{ env.ITERATION }} -C rpm-release ${{ env.COMMON_FPM_OPTS }}'
- name: Release
uses: softprops/[email protected]
with:
name: |
${{ env.VERSION }}-${{ env.ITERATION }}
files: |
./*.deb
./*.rpm
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}