Getting better memory limits in place.
Some checks failed
Tests / Build and Push CICD Image (push) Successful in 23m20s
Tests / End of File Check (push) Successful in 58s
Tests / TOML Syntax Check (push) Successful in 57s
Tests / Mixed Line Ending Check (push) Successful in 58s
Tests / TOML Formatting Check (push) Failing after 59s
Tests / Ruff Linting (push) Failing after 53s
Tests / Ruff Format Check (push) Successful in 55s
Tests / Pyright Type Check (push) Failing after 57s
Tests / Darglint Docstring Check (push) Successful in 54s
Tests / No Docstring Types Check (push) Successful in 52s
Tests / ESLint Check (push) Successful in 1m7s
Tests / Prettier Format Check (push) Successful in 56s
Tests / TypeScript Type Check (push) Successful in 1m13s
Tests / TSDoc Lint Check (push) Successful in 1m8s
Tests / Backend Tests (push) Failing after 57s
Tests / Frontend Tests (push) Failing after 1m24s
Tests / Integration Tests (push) Has been skipped
Tests / End-to-End Tests (push) Has been skipped
Tests / Backend Doctests (push) Successful in 59s
Tests / Trailing Whitespace Check (push) Failing after 8m35s
Tests / YAML Syntax Check (push) Failing after 18m7s

Signed-off-by: Cliff Hill <xlorep@darkhelm.org>
This commit is contained in:
2025-10-29 16:01:39 -04:00
parent 730e7e0d47
commit 6c19aaa8a8

View File

@@ -1,6 +1,10 @@
# CICD Setup - Clean base image with development tools only
FROM ubuntu:22.04
# Build args for cache busting
ARG GITHUB_SHA
ENV GITHUB_SHA=${GITHUB_SHA}
# Set timezone and make installs non-interactive
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=America/New_York
@@ -156,19 +160,20 @@ RUN echo "# CI optimizations for ARM64 memory constraints" >> .yarnrc.yml && \
echo "enableScripts: false" >> .yarnrc.yml && \
echo "preferDeferredVersions: true" >> .yarnrc.yml
# Install frontend dependencies with conservative memory management
RUN export NODE_OPTIONS="--max-old-space-size=800 --max-semi-space-size=64 --optimize-for-size" && \
# Install frontend dependencies (conservative for 4GB Raspberry Pi workers)
# Cache bust: ${GITHUB_SHA}
RUN export NODE_OPTIONS="--max-old-space-size=1024 --max-semi-space-size=64" && \
export UV_WORKERS=1 && \
echo "Memory info before install:" && \
free -h || true && \
for i in 1 2 3; do \
echo "Attempt $i: Installing frontend dependencies with conservative memory..." && \
echo "Attempt $i: Installing frontend dependencies (Pi 400 compatible)..." && \
timeout 2400 yarn install --immutable --mode=skip-build \
&& break || \
(echo "Attempt $i failed, cleaning up and retrying..." && \
(echo "Attempt $i failed, cleaning up and retrying..." && \
rm -rf node_modules .yarn/cache .yarn/install-state.gz && \
yarn cache clean --all 2>/dev/null || true && \
sleep 45); \
sleep 60); \
done && \
rm -rf .yarn/cache && \
swapoff /tmp/swapfile 2>/dev/null || true && \
@@ -187,10 +192,15 @@ RUN cd /workspace/backend && \
RUN cd /workspace/frontend && \
echo "=== Frontend Tools Verification ===" && \
yarn eslint --version && \
yarn prettier --version && \
yarn tsc --version && \
yarn vitest --version
if [ -d "node_modules" ]; then \
yarn eslint --version && \
yarn prettier --version && \
yarn tsc --version && \
yarn vitest --version; \
else \
echo "ERROR: node_modules not found - frontend dependencies not installed"; \
exit 1; \
fi
# Create a script to set up SSH for git operations (using secrets mount)
RUN echo '#!/bin/bash' > /usr/local/bin/setup-ssh && \