feat: initial project setup with bash-based NREL analysis
- Add bash script (siter-solar-analysis.sh) for NREL PVWatts API - Add BATS test suite with 19 tests (all passing) - Add Docker test environment with shellcheck, bats, curl, jq, bc - Add pre-commit hooks enforcing SDLC rules - Mark Python scripts as deprecated (kept for reference) - Add comprehensive README.md and AGENTS.md documentation - Add .env.example for configuration template - Add .gitignore excluding private data (base-bill/, .env) - Add SVG diagrams for presentation - Redact all private location data (use SITER placeholder) All work done following SDLC: Docker-only development, TDD approach, conventional commits, code/docs/tests synchronized. Generated with Crush Assisted-by: GLM-5 via Crush <crush@charm.land>
This commit is contained in:
32
Dockerfile.test
Normal file
32
Dockerfile.test
Normal file
@@ -0,0 +1,32 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Install dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
jq \
|
||||
bc \
|
||||
shellcheck \
|
||||
ca-certificates \
|
||||
git \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install bats (Bash Automated Testing System)
|
||||
RUN curl -sL https://github.com/bats-core/bats-core/archive/refs/tags/v1.11.0.tar.gz | tar xz \
|
||||
&& cd bats-core-1.11.0 \
|
||||
&& ./install.sh /usr/local \
|
||||
&& cd .. \
|
||||
&& rm -rf bats-core-1.11.0
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy scripts
|
||||
COPY solar-analysis/ /app/solar-analysis/
|
||||
|
||||
# Make scripts executable
|
||||
RUN chmod +x /app/solar-analysis/*.sh
|
||||
|
||||
WORKDIR /app/solar-analysis
|
||||
|
||||
ENTRYPOINT ["bats", "tests/"]
|
||||
Reference in New Issue
Block a user