Single-commit clean baseline after security scrub of niche-tells, project codenames, internal jargon, and contributor-email leaks. Contents: - 100 Rust crates (_primitives/_rust/) - 37 agent manifests (_manifests/) + generated specs (_generated/) - 67 user-invocable skills (skills/) - 33 hooks (hooks/) - Composition blocks (_blocks/) - Documentation (docs/, README.md) - TS adapter packages (_ts_packages/) - Assembler (_assembler/) - Roles (_roles/) - Templates (_templates/) - Forgejo CI (.forgejo/) Author: Denis Parfionovich <info@greendragon.info> License: see LICENSE.
57 lines
2.3 KiB
Text
57 lines
2.3 KiB
Text
# tests/battle/Dockerfile.install-test
|
|
# Battle-test: run KeiSeiKit install.sh on a clean Ubuntu 24.04 container.
|
|
# Validates: install succeeds, block/skill/hook counts match README, hook
|
|
# test-gate passes, settings.json (if any) is valid JSON.
|
|
#
|
|
# Build from repo root:
|
|
# docker build -t keisei-battle:latest -f tests/battle/Dockerfile.install-test .
|
|
#
|
|
# Run (default: minimal profile):
|
|
# docker run --rm keisei-battle:latest
|
|
#
|
|
# Override profile:
|
|
# docker run --rm -e PROFILE=dev keisei-battle:latest
|
|
# docker run --rm -e PROFILE=full keisei-battle:latest
|
|
#
|
|
# Env:
|
|
# PROFILE one of minimal|core|dev|full (default: minimal)
|
|
# KEI_SKIP_RUST_BUILD 1 = skip cargo build for primitives (assembler
|
|
# still builds; install.sh always builds it)
|
|
|
|
FROM ubuntu:24.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive \
|
|
LANG=C.UTF-8 \
|
|
LC_ALL=C.UTF-8 \
|
|
CARGO_HOME=/root/.cargo \
|
|
RUSTUP_HOME=/root/.rustup \
|
|
PATH=/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
|
|
# Baseline deps that a "fresh" user machine would have after apt install.
|
|
# build-essential: cc/ld for cargo. jq: install.sh HARD prereq. pandoc:
|
|
# soft prereq for tomd. git, curl, ca-certificates: kit + rustup download.
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
git curl ca-certificates build-essential jq pandoc \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Rust toolchain — Ubuntu 24.04 ships rustc 1.75; _assembler/Cargo.toml uses
|
|
# edition = "2024" which needs >= 1.85. Use rustup to get stable.
|
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
|
|
| sh -s -- -y --default-toolchain stable --profile minimal --no-modify-path \
|
|
&& rustc --version && cargo --version
|
|
|
|
# Copy the kit. .dockerignore excludes target/ so the image stays slim.
|
|
WORKDIR /opt/keiseikit
|
|
COPY . /opt/keiseikit/
|
|
|
|
# Install verify + entry scripts (path is hardcoded so they remain runnable
|
|
# whatever CWD the user sets via -w).
|
|
COPY tests/battle/verify.sh /usr/local/bin/verify.sh
|
|
COPY tests/battle/battle-entry.sh /usr/local/bin/battle-entry.sh
|
|
RUN chmod +x /usr/local/bin/verify.sh \
|
|
/usr/local/bin/battle-entry.sh \
|
|
/opt/keiseikit/install.sh
|
|
|
|
ENV PROFILE=minimal
|
|
ENTRYPOINT ["/usr/local/bin/battle-entry.sh"]
|