Skip to content

Shape retention: three-tier lifecycle (active / dormant / evicted), layered eviction #17

Shape retention: three-tier lifecycle (active / dormant / evicted), layered eviction

Shape retention: three-tier lifecycle (active / dormant / evicted), layered eviction #17

Workflow file for this run

# Build + test on every push/PR: Rust engine unit tests, then the full TS suite (unit + the
# conformance harness, which boots its own ephemeral logical-replication Postgres — the runner
# image ships the PostgreSQL server binaries; they just need to be on PATH).
name: ci
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Rust engine tests
run: cargo test -p electric-ivm-engine
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
- name: Put PostgreSQL server binaries on PATH
run: |
PGBIN="$(ls -d /usr/lib/postgresql/*/bin | sort -V | tail -1)"
echo "$PGBIN" >> "$GITHUB_PATH"
"$PGBIN/initdb" --version
- name: Install JS dependencies
run: pnpm install --frozen-lockfile
- name: Full test suite (incl. conformance)
run: pnpm test