Skip to content

CI: Replace opaque test harness workflows with explicit workflow implementation #489

CI: Replace opaque test harness workflows with explicit workflow implementation

CI: Replace opaque test harness workflows with explicit workflow implementation #489

Workflow file for this run

on:
push:
branches:
- master
- main
pull_request:
branches:
- '**'
name: Quick Test
jobs:
smoke-test:
runs-on: nvme-zns
steps:
- name: Clean
run: rm -rf ${GITHUB_WORKSPACE}/*
- name: Checkout rocksdb
uses: actions/checkout@v4
with:
repository: facebook/rocksdb
ref: v7.0.2
path: rocksdb
- name: Checkout TerarkDB
uses: actions/checkout@v4
with:
repository: bytedance/terarkdb
ref: dev.1.4
path: terarkdb
submodules: recursive
- name: Checkout zenfs for RocksDB
uses: actions/checkout@v4
with:
fetch-depth: 0
path: rocksdb/plugin/zenfs
- name: Remove zenfs TerarkDB submodule
run: rm -rf terarkdb/third-party/zenfs
- name: Checkout zenfs for TerarkDB
uses: actions/checkout@v4
with:
fetch-depth: 0
path: terarkdb/third-party/zenfs
- name: Build RocksDB docker image
run: |
podman build --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: Build TerarkDB docker image
run: |
podman build --cgroup-manager cgroupfs \
-t terarkdb-zenfs \
-f terarkdb/third-party/zenfs/.github/workflows/containerfiles/Dockerfile.terarkdb-zenfs \
--build-arg LIBZBD_GIT_CHECKOUT=v2.0.2 \
.
- name: TerarkDB mkfs zenfs
run: |
podman run --rm -i --device /dev/${ZBD0} \
terarkdb-zenfs \
bash -c "zenfs mkfs --zbd ${ZBD0} --aux_path /tmp/zenfs-aux --force"
- name: Run smoke tests for TerarkDB
run: |
podman run --rm -i --device /dev/${ZBD0} \
terarkdb-zenfs \
bash -c "FS_PARAMS=--fs-uri=zenfs://dev:${ZBD0} PLUGIN_HOST=terarkdb TOOLS_DIR=/rocks/dest/bin ZENFS_DIR=/rocks/dest/bin OUTPUT_DIR=/rocks/work/results /rocks/dest/zenfs/test/run.sh terarkdb-zenfs-$(date '+%Y-%m-%d_%H-%M-%S' --utc)-$(uuidgen) smoke"
- name: Remove images
run: podman rmi --force --all
if: always()