2023-04-04 21:18:22 +00:00
|
|
|
name: Continuous Integration (Rocksdb Build)
|
|
|
|
|
2023-09-07 20:03:55 +00:00
|
|
|
env:
|
|
|
|
ROCKSDB_VERSION: v8.1.1
|
|
|
|
|
2023-04-04 21:18:22 +00:00
|
|
|
on:
|
|
|
|
workflow_call:
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: checkout repo from current commit
|
|
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Go
|
|
|
|
uses: actions/setup-go@v3
|
|
|
|
with:
|
|
|
|
go-version: "1.20"
|
|
|
|
check-latest: true
|
|
|
|
cache: true
|
|
|
|
- name: build rocksdb dependency
|
|
|
|
run: bash ${GITHUB_WORKSPACE}/.github/scripts/install-rocksdb.sh
|
|
|
|
- name: build application
|
|
|
|
run: make build COSMOS_BUILD_OPTIONS=rocksdb
|
2023-09-07 20:03:55 +00:00
|
|
|
test:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: install RocksDB dependencies
|
|
|
|
run: sudo apt-get update
|
|
|
|
&& sudo apt-get install -y git make gcc libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev
|
|
|
|
- name: install RocksDB as shared library
|
|
|
|
run: git clone https://github.com/facebook/rocksdb.git
|
|
|
|
&& cd rocksdb
|
|
|
|
&& git checkout $ROCKSDB_VERSION
|
|
|
|
&& sudo make -j$(nproc) install-shared
|
|
|
|
&& sudo ldconfig
|
|
|
|
- name: checkout repo from current commit
|
|
|
|
uses: actions/checkout@v3
|
|
|
|
with:
|
|
|
|
submodules: true
|
|
|
|
- name: Set up Go
|
|
|
|
uses: actions/setup-go@v3
|
|
|
|
with:
|
|
|
|
go-version: "1.20"
|
|
|
|
check-latest: true
|
|
|
|
cache: true
|
|
|
|
- name: run unit tests
|
|
|
|
run: make test-rocksdb
|