diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c1047ada0..2bdb6f855 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -19,8 +19,10 @@ jobs: uses: actions/checkout@v3 - name: Restore cache run: | - cache-util restore cargo_git cargo_registry yarn_cache + cache-util restore cargo_git cargo_registry yarn_cache rocksdb:/root/rocksdb cache-util restore aurora-engine-target@generic@${{ hashFiles('**/Cargo.lock') }}:target + - name: Preparing rocksdb library + run: scripts/ci/build_rocksdb.sh - name: Build contracts run: cargo make build-contracts - name: Test contracts @@ -53,8 +55,10 @@ jobs: uses: actions/checkout@v3 - name: Restore cache run: | - cache-util restore cargo_git cargo_registry yarn_cache + cache-util restore cargo_git cargo_registry yarn_cache rocksdb:/root/rocksdb cache-util restore aurora-engine-target@generic@${{ hashFiles('**/Cargo.lock') }}:target + - name: Preparing rocksdb library + run: scripts/ci/build_rocksdb.sh - name: Test mainnet bench-modexp run: cargo make --profile mainnet bench-modexp - name: Test testnet bench-modexp @@ -67,3 +71,6 @@ jobs: env: CARGO_TERM_COLOR: always CARGO_INCREMENTAL: 0 + ROCKSDB_INCLUDE_DIR: /root/rocksdb/include + ROCKSDB_LIB_DIR: /root/rocksdb/lib + ROCKSDB_STATIC: 1 diff --git a/scripts/ci/build_rocksdb.sh b/scripts/ci/build_rocksdb.sh new file mode 100755 index 000000000..4937fb243 --- /dev/null +++ b/scripts/ci/build_rocksdb.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +ROCKSDB_VER=v7.4.4 +INSTALL_PATH=/root/rocksdb +LIB_PATH=$INSTALL_PATH/lib/librocksdb.a + +if [[ ! -f $LIB_PATH ]]; then + apt -y install cmake libgflags-dev libsnappy-dev libbz2-dev liblz4-dev libzstd-dev + git clone --branch $ROCKSDB_VER https://github.com/facebook/rocksdb + cd rocksdb && mkdir build && cd build + cmake -DCMAKE_BUILD_TYPE=Release -DWITH_ZLIB=1 -DWITH_SNAPPY=1 -DWITH_LZ4=1 -DWITH_ZSTD=1 -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH .. + make -j32 install + cache-util save rocksdb:$INSTALL_PATH + cd $HOME +fi