Skip to content

Smoke RocksDB Nightly #276

Smoke RocksDB Nightly

Smoke RocksDB Nightly #276

on:
workflow_dispatch:
schedule:
- cron: '0 02 * * *'
name: Smoke RocksDB Nightly
jobs:
smoke-nightly:
runs-on: nvme-zns
name: Smoke Nightly ${{ matrix.rocksdb-ref }}
strategy:
fail-fast: false
matrix:
rocksdb-ref:
- main
- 6.29.fb
- 7.2.fb
- 7.10.fb
- 8.7.fb
steps:
- name: Clean
run: rm -rf ${GITHUB_WORKSPACE}/*
- name: Checkout rocksdb
uses: actions/checkout@v4
with:
repository: facebook/rocksdb
ref: ${{ matrix.rocksdb-ref }}
path: rocksdb
- name: Checkout zenfs
uses: actions/checkout@v4
with:
fetch-depth: 0
path: rocksdb/plugin/zenfs
- name: Build RocksDB docker image
run: |
podman build --jobs=$(nproc) --cgroup-manager cgroupfs \
-t rocksdb-zenfs \
-f rocksdb/plugin/zenfs/.github/workflows/containerfiles/Dockerfile.rocksdb-zenfs \
--build-arg LIBZBD_GIT_CHECKOUT=v2.0.2 \
--build-arg ROCKSDB_DEBUG_LEVEL=0 \
.
- name: Set mq-deadline scheduler for the ZBD
run: |
echo deadline > /sys/block/${ZBD0}/queue/scheduler
- name: RocksDB mkfs zenfs
run: |
podman run --rm -i --device /dev/${ZBD0} \
rocksdb-zenfs \
bash -c "zenfs mkfs --zbd ${ZBD0} --aux_path /tmp/zenfs-aux --force"
- name: Run smoke tests for RocksDB
run: |
podman run --cgroup-manager cgroupfs --rm -i --device /dev/${ZBD0} \
rocksdb-zenfs \
bash -c "FS_PARAMS=--fs-uri=zenfs://dev:${ZBD0} PLUGIN_HOST=rocksdb TOOLS_DIR=/rocks/dest/bin ZENFS_DIR=/rocks/dest/bin OUTPUT_DIR=/rocks/work/results /rocks/dest/zenfs/test/run.sh rocksdb-zenfs-$(date '+%Y-%m-%d_%H-%M-%S' --utc)-$(uuidgen) smoke"
- name: Run utils tests
run: |
podman run --rm -i --device /dev/${ZBD0} \
rocksdb-zenfs \
bash -c "ZDEV=${ZBD0} FS_PARAMS=--fs_uri=zenfs://dev:${ZBD0} TOOLS_DIR=/rocks/dest/bin ZENFS_DIR=/rocks/dest/bin OUTPUT_DIR=/rocks/work/results /rocks/dest/zenfs/test/run.sh rocksdb-zenfs$(date '+%Y-%m-%d_%H-%M-%S' --utc)-$(uuidgen) utils"
- name: Remove docker images
run: podman rmi --force --all
if: always()