Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 46 additions & 41 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,20 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: true
- name: get rocksdb sha
id: rocksdb-sha
run: |
ROCKSDB_SHA=$(cd deps/rocksdb && git rev-parse HEAD)
echo "ROCKSDB_SHA is $ROCKSDB_SHA"
echo "ROCKSDB_SHA=$ROCKSDB_SHA" >> $GITHUB_ENV
shell: bash
- name: cache rocksdb
id: cache-rocksdb
uses: actions/cache@v4
with:
path: deps/rocksdb
key: ${{ runner.os }}-rocksdb-${{ env.ROCKSDB_SHA }}
# Temporarily disable rocksdb cache to test full rebuild
# - name: get rocksdb sha
# id: rocksdb-sha
# run: |
# ROCKSDB_SHA=$(cd deps/rocksdb && git rev-parse HEAD)
# echo "ROCKSDB_SHA is $ROCKSDB_SHA"
# echo "ROCKSDB_SHA=$ROCKSDB_SHA" >> $GITHUB_ENV
# shell: bash
# - name: cache rocksdb
# id: cache-rocksdb
# uses: actions/cache@v4
# with:
# path: deps/rocksdb
# key: ${{ runner.os }}-rocksdb-${{ env.ROCKSDB_SHA }}
- name: install dependencies
run: |
sudo apt-get update
Expand Down Expand Up @@ -82,25 +83,28 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: true
- name: get rocksdb sha
id: rocksdb-sha
run: |
ROCKSDB_SHA=$(cd deps/rocksdb && git rev-parse HEAD)
echo "ROCKSDB_SHA is $ROCKSDB_SHA"
echo "ROCKSDB_SHA=$ROCKSDB_SHA" >> $GITHUB_ENV
shell: bash
- name: cache rocksdb
id: cache-rocksdb
uses: actions/cache@v4
with:
path: deps/rocksdb
key: ${{ runner.os }}-rocksdb-${{ env.ROCKSDB_SHA }}
# Temporarily disable rocksdb cache to test full rebuild
# - name: get rocksdb sha
# id: rocksdb-sha
# run: |
# ROCKSDB_SHA=$(cd deps/rocksdb && git rev-parse HEAD)
# echo "ROCKSDB_SHA is $ROCKSDB_SHA"
# echo "ROCKSDB_SHA=$ROCKSDB_SHA" >> $GITHUB_ENV
# shell: bash
# - name: cache rocksdb
# id: cache-rocksdb
# uses: actions/cache@v4
# with:
# path: deps/rocksdb
# key: ${{ runner.os }}-rocksdb-${{ env.ROCKSDB_SHA }}
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get -y install libsnappy-dev zlib1g-dev libstdc++6 liburing-dev libevent-dev libunwind-dev libgoogle-glog-dev
- name: make test
run: LD_LIBRARY_PATH=/home/runner/work/Redis-On-Rocks/Redis-On-Rocks/deps/rocksdb/_build_folly/libs/glog/lib:/home/runner/work/Redis-On-Rocks/Redis-On-Rocks/deps/rocksdb/_build_folly/libs/libevent/lib make SWAP=1 test -j8
- name: make
run: make SWAP=1 -j8
- name: test
run: LD_LIBRARY_PATH=/home/runner/work/Redis-On-Rocks/Redis-On-Rocks/deps/rocksdb/_build_folly/libs/glog/lib:/home/runner/work/Redis-On-Rocks/Redis-On-Rocks/deps/rocksdb/_build_folly/libs/libevent/lib make SWAP=1 test

# SWAP mode with Address Sanitizer
swap-asan:
Expand All @@ -112,19 +116,20 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: true
- name: get rocksdb sha
id: rocksdb-sha
run: |
ROCKSDB_SHA=$(cd deps/rocksdb && git rev-parse HEAD)
echo "ROCKSDB_SHA is $ROCKSDB_SHA"
echo "ROCKSDB_SHA=$ROCKSDB_SHA" >> $GITHUB_ENV
shell: bash
- name: cache rocksdb
id: cache-rocksdb
uses: actions/cache@v4
with:
path: deps/rocksdb
key: ${{ runner.os }}-rocksdb-${{ env.ROCKSDB_SHA }}
# Temporarily disable rocksdb cache to test full rebuild
# - name: get rocksdb sha
# id: rocksdb-sha
# run: |
# ROCKSDB_SHA=$(cd deps/rocksdb && git rev-parse HEAD)
# echo "ROCKSDB_SHA is $ROCKSDB_SHA"
# echo "ROCKSDB_SHA=$ROCKSDB_SHA" >> $GITHUB_ENV
# shell: bash
# - name: cache rocksdb
# id: cache-rocksdb
# uses: actions/cache@v4
# with:
# path: deps/rocksdb
# key: ${{ runner.os }}-rocksdb-${{ env.ROCKSDB_SHA }}
- name: install dependencies
run: |
sudo apt-get update
Expand Down
29 changes: 0 additions & 29 deletions .github/workflows/codecov.yml

This file was deleted.

103 changes: 0 additions & 103 deletions .github/workflows/external.yml

This file was deleted.

71 changes: 38 additions & 33 deletions deps/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -160,43 +160,48 @@ ROCKSDB_CFLAGS = $(CFLAGS)
ROCKSDB_BUILD_FOLLY_FLAGS=ROCKSDB_DISABLE_BZIP=1 ROCKSDB_DISABLE_LZ4=1 ROCKSDB_DISABLE_ZSTD=1 ROCKSDB_DISABLE_MALLOC_USABLE_SIZE=1 ROCKSDB_DISABLE_MEMKIND=1 PORTABLE=1 ROCKSDB_USE_IO_URING=1
ROCKSDB_BUILD_FLAGS=USE_COROUTINES=1 USE_FOLLY=1 $(ROCKSDB_BUILD_FOLLY_FLAGS)

./rocksdb/_build_folly/libs/folly/lib/libfolly.a:
if [ ! -f rocksdb/_build_folly/installed/folly/lib/libfolly.a ]; then \
./rocksdb/_build_folly/folly/lib/libfolly.a:
@if [ ! -f rocksdb/_build_folly/installed/folly/lib/libfolly.a ]; then \
echo "Building folly for the first time..."; \
cd rocksdb && ${ROCKSDB_BUILD_FOLLY_FLAGS} ${MAKE} checkout_folly && ${ROCKSDB_BUILD_FOLLY_FLAGS} ${MAKE} build_folly; \
fi
rm -rf ./rocksdb/_build_folly/libs
mkdir -p ./rocksdb/_build_folly/libs
FBUILD_PATH=`ls -d ./rocksdb/_build_folly*`; \
BOOST_PATH=`ls -d $${FBUILD_PATH}/installed/boost*`; \
DBL_CONV_PATH=`ls -d $${FBUILD_PATH}/installed/double-conversion*`; \
FMT_PATH=`ls -d $${FBUILD_PATH}/installed/fmt*`; \
GLOG_PATH=`ls -d $${FBUILD_PATH}/installed/glog*`; \
GFLAGS_PATH=`ls -d $${FBUILD_PATH}/installed/gflags*`; \
LIBEVENT_PATH=`ls -d $${FBUILD_PATH}/installed/libevent*`; \
GLOG_LIB_PATH=`ls -d $${GLOG_PATH}/lib*`; \
FMT_LIB_PATH=`ls -d $${FMT_PATH}/lib*`; \
cp -r $${BOOST_PATH} ./rocksdb/_build_folly/libs/boost; \
cp -r $${DBL_CONV_PATH} ./rocksdb/_build_folly/libs/double-conversion; \
mkdir -p ./rocksdb/_build_folly/libs/fmt; \
cp -r $${FMT_PATH}/include ./rocksdb/_build_folly/libs/fmt/include; \
cp -r $${FMT_LIB_PATH} ./rocksdb/_build_folly/libs/fmt/lib; \
mkdir -p ./rocksdb/_build_folly/libs/glog; \
cp -r $${GLOG_PATH}/include ./rocksdb/_build_folly/libs/glog/include; \
cp -r $${GLOG_LIB_PATH} ./rocksdb/_build_folly/libs/glog/lib; \
mkdir -p ./rocksdb/_build_folly/libs/libiberty; \
cp -r $${GFLAGS_PATH} ./rocksdb/_build_folly/libs/gflags; \
cp -r $${LIBEVENT_PATH} ./rocksdb/_build_folly/libs/libevent; \
cp -r $${FBUILD_PATH}/installed/folly ./rocksdb/_build_folly/libs/folly



rocksdb: rocksdb/librocksdb.a ./rocksdb/_build_folly/libs/folly/lib/libfolly.a

rocksdb/librocksdb.a: ./rocksdb/_build_folly/libs/folly/lib/libfolly.a
@printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)rocksdb$(ENDCOLOR)
@if [ ! -f ./rocksdb/_build_folly/libs/folly/lib/libfolly.a ]; then \
echo "Copying libraries from installed to libs directory..."; \
rm -rf ./rocksdb/_build_folly/libs; \
mkdir -p ./rocksdb/_build_folly/libs; \
FBUILD_PATH=`ls -d ./rocksdb/_build_folly*`; \
BOOST_PATH=`ls -d $${FBUILD_PATH}/installed/boost*`; \
DBL_CONV_PATH=`ls -d $${FBUILD_PATH}/installed/double-conversion*`; \
FMT_PATH=`ls -d $${FBUILD_PATH}/installed/fmt*`; \
GLOG_PATH=`ls -d $${FBUILD_PATH}/installed/glog*`; \
GFLAGS_PATH=`ls -d $${FBUILD_PATH}/installed/gflags*`; \
LIBEVENT_PATH=`ls -d $${FBUILD_PATH}/installed/libevent*`; \
GLOG_LIB_PATH=`ls -d $${GLOG_PATH}/lib*`; \
FMT_LIB_PATH=`ls -d $${FMT_PATH}/lib*`; \
cp -r $${BOOST_PATH} ./rocksdb/_build_folly/libs/boost; \
cp -r $${DBL_CONV_PATH} ./rocksdb/_build_folly/libs/double-conversion; \
mkdir -p ./rocksdb/_build_folly/libs/fmt; \
cp -r $${FMT_PATH}/include ./rocksdb/_build_folly/libs/fmt/include; \
cp -r $${FMT_LIB_PATH} ./rocksdb/_build_folly/libs/fmt/lib; \
mkdir -p ./rocksdb/_build_folly/libs/glog; \
cp -r $${GLOG_PATH}/include ./rocksdb/_build_folly/libs/glog/include; \
cp -r $${GLOG_LIB_PATH} ./rocksdb/_build_folly/libs/glog/lib; \
mkdir -p ./rocksdb/_build_folly/libs/libiberty; \
cp -r $${GFLAGS_PATH} ./rocksdb/_build_folly/libs/gflags; \
cp -r $${LIBEVENT_PATH} ./rocksdb/_build_folly/libs/libevent; \
cp -r $${FBUILD_PATH}/installed/folly ./rocksdb/_build_folly/libs/folly; \
echo "Libraries copied successfully."; \
else \
echo "libs directory already exists, skipping copy to preserve timestamps."; \
fi



rocksdb: ./rocksdb/_build_folly/folly/lib/libfolly.a .make-prerequisites
@printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR)
cd rocksdb && $(ROCKSDB_BUILD_FLAGS) $(MAKE) CFLAGS="$(ROCKSDB_CFLAGS)" static_lib

# Remove .PHONY for rocksdb to enable incremental builds
.PHONY: rocksdb

XREDIS_GTID_CFLAGS= -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops $(CFLAGS)
XREDIS_GTID_LDFLAGS= $(LDFLAGS)
Expand Down
Loading
Loading