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