Skip to content

Update

Update #33

Workflow file for this run

name: ci
on:
push:
pull_request:
jobs:
build-test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
build_type: [Release]
include:
- os: ubuntu-latest
build_type: Debug
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Configure
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
- name: Build
run: cmake --build build -j
- name: Test
if: runner.os != 'Windows'
run: ctest --test-dir build --output-on-failure
sanitize-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure (ASAN/UBSAN)
run: cmake -S . -B build-sanitize -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS='-fsanitize=address,undefined -fno-omit-frame-pointer' -DCMAKE_EXE_LINKER_FLAGS='-fsanitize=address,undefined'
- name: Build
run: cmake --build build-sanitize -j
- name: Test
run: ctest --test-dir build-sanitize --output-on-failure
clang-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: sudo apt-get update && sudo apt-get install -y clang-format
- run: make fmt-check
docker-smoke:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build image
run: docker build -f docker/Dockerfile -t pomai-cache:ci .
- name: Run smoke test
run: |
docker run --rm -d --name pomai-cache-ci -p 6391:6379 pomai-cache:ci
sleep 2
printf '*1\r\n$4\r\nPING\r\n' | nc 127.0.0.1 6391 | head -n 1 | grep PONG
docker rm -f pomai-cache-ci
crash-suite-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
- name: Build
run: cmake --build build -j
- name: Run crash suite
run: cd build && ./pomai_cache_crash_harness everysec
tier-bench-smoke:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
- name: Build
run: cmake --build build -j
- name: Run tier bench smoke
run: |
./build/pomai_cache_server --port 6393 --ssd-enabled --ssd-value-min-bytes 256 --data-dir ./bench_smoke_data &
PID=$!
sleep 1
./build/pomai_cache_netbench --port 6393 --workload tier_on_large_values --duration 2 --warmup 1 --clients 2 --pipeline 2 --json tier_smoke.json
kill -INT $PID
wait $PID