Release #15
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |