Files
codebase-memory-mcp/test-infrastructure/Dockerfile
T
Martin Vogel 1b84943000 Separate perf tests from CI, fix cross-platform build issues
- Add CBM_SKIP_PERF=1 env var to skip incremental/perf test suite
- CI and Docker test targets skip perf by default (run.sh perf for manual)
- Convert all perf assertions to warnings (log timing, never block)
- Fix store.h anonymous enum in struct (GCC rejects, clang accepts)
- Fix test_store_search.c mkstemp on non-template path
- Add ca-certificates to Docker test image for git HTTPS
- Add cbm_gmtime_r shim in compat.h (Windows gmtime_s wrapper)
- Fix compat.c missing constants.h include (Windows build)
- Fix platform.c _environ redeclaration on mingw
- Rename trace_call_path -> trace_path in smoke/soak/fuzz scripts
2026-04-02 14:52:14 +02:00

26 lines
786 B
Docker

# Mirrors the Ubuntu CI environment exactly:
# - Ubuntu 24.04 (same as GitHub Actions ubuntu-latest / ubuntu-24.04-arm)
# - GCC (system default) with ASan + UBSan + LeakSanitizer
# - libsqlite3-dev + zlib1g-dev (same as CI "Install deps" step)
#
# Build: docker build -t cbm-test test-infrastructure/
# Run: docker run --rm -v $(pwd):/src cbm-test
FROM ubuntu:noble
# Minimal: gcc + zlib only. sqlite3 is vendored (compiled from source with ASan).
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc g++ make \
zlib1g-dev \
pkg-config \
python3 \
git \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /src
# Default: run test.sh with GCC (mirrors CI exactly)
ENTRYPOINT ["scripts/test.sh"]
CMD ["CC=gcc", "CXX=g++"]