Skip to content

CI

CI #312

Workflow file for this run

name: CI
on:
push:
pull_request:
schedule:
- cron: '0 0 * * 0' # Run every Sunday at midnight UTC
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Install Prerequisites and clone Redis
run: |
sudo apt-get update
sudo apt-get install -y cmake libssl-dev valgrind git
git clone https://git.cryptomilk.org/projects/cmocka.git
cd cmocka
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
make
ctest
sudo make install
git clone https://github.com/redis/redis.git ~/redis
shell: bash
- name: Test librdb vs. redis-5.0
run: |
pushd ~/redis
git checkout 5.0
make distclean
make -j 4 -C ~/redis
popd
export LIBRDB_REDIS_FOLDER=~/redis/src
make test
working-directory: ${{github.workspace}}
- name: Test librdb vs. redis-unstable
run: |
pushd ~/redis
git checkout unstable
make -j 4 -C ~/redis
make -C ~/redis/tests/modules
popd
export LIBRDB_REDIS_FOLDER=~/redis/src
make all example valgrind
working-directory: ${{github.workspace}}
build-clang:
runs-on: ubuntu-latest
env:
CC: clang
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Install Prerequisites and clone Redis
run: |
sudo apt-get update
sudo apt-get install -y cmake libssl-dev git clang
git clone https://git.cryptomilk.org/projects/cmocka.git
cd cmocka
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
make
sudo make install
git clone https://github.com/redis/redis.git ~/redis
shell: bash
- name: Test librdb vs. redis-6.0
run: |
pushd ~/redis
git checkout 6.0
make distclean
make -j 4 -C ~/redis
popd
export LIBRDB_REDIS_FOLDER=~/redis/src
make test
working-directory: ${{github.workspace}}
- name: Test librdb vs. redis-6.2
run: |
# clang is more strict to shared-obj versioning. Satisfy its needs.
pushd ~/redis
git checkout 6.2
make -j 4 -C ~/redis
make -C ~/redis/tests/modules
popd
export LIBRDB_REDIS_FOLDER=~/redis/src
make clean debug test
working-directory: ${{github.workspace}}