KeiSeiKit-1.0/tests/battle/Dockerfile.install-test
Parfii-bot 0be354a920 KeiSeiKit-public — clean state
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.
2026-05-01 12:09:03 +08:00

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"]