CI: Replace opaque test harness workflows with explicit workflow implementation #490
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() |