Let's see if prettier can come back clean finally.
All checks were successful
CICD Start / Sanity and Base Decision (pull_request) Successful in 1m3s

Signed-off-by: copilotcoder <copilotcoder@darkhelm.org>
This commit is contained in:
copilotcoder
2026-06-11 13:25:39 -04:00
parent 9103976001
commit 5296b3b672
2 changed files with 52 additions and 9 deletions

View File

@@ -344,10 +344,28 @@ jobs:
export DOCKER_BUILDKIT=1
docker build -f Dockerfile.cicd-base \
BUILD_TIMEOUT_SECONDS=5400
BUILD_START_EPOCH=$(date +%s)
echo "docker_build_timeout_seconds=${BUILD_TIMEOUT_SECONDS}"
echo "docker_build_started_utc=$(date -u +%Y-%m-%dT%H:%M:%SZ)"
timeout "${BUILD_TIMEOUT_SECONDS}" docker build --progress=plain -f Dockerfile.cicd-base \
--build-arg BASE_IMAGE_VERSION="v1.0.0-${BASE_HASH}" \
--build-arg BASE_IMAGE_HASH="${BASE_HASH}" \
-t cicd-base:latest .
BUILD_EXIT_CODE=$?
if [ "${BUILD_EXIT_CODE}" -ne 0 ]; then
if [ "${BUILD_EXIT_CODE}" -eq 124 ]; then
echo "❌ docker build timed out after ${BUILD_TIMEOUT_SECONDS}s"
else
echo "❌ docker build failed with exit code ${BUILD_EXIT_CODE}"
fi
exit "${BUILD_EXIT_CODE}"
fi
BUILD_END_EPOCH=$(date +%s)
BUILD_ELAPSED=$((BUILD_END_EPOCH - BUILD_START_EPOCH))
echo "docker_build_elapsed_seconds=${BUILD_ELAPSED}"
ARCHIVE_PATH="/tmp/cicd-base.tar"
source /tmp/registry-push-helpers.sh

View File

@@ -131,14 +131,39 @@ RUN echo "=== Installing Global Development Tools ===" && \
which prettier && \
echo "✓ Global Node.js development tools installed via npm"
# Install Playwright browsers for E2E testing
# This downloads ~400MB+ of browser binaries that will be cached
RUN echo "=== Installing Playwright Browsers ===" && \
# Verify Playwright CLI is available
playwright --version && \
# Only install chromium — CI playwright.config.ts only uses chromium
playwright install --with-deps chromium && \
echo "✓ Playwright browsers installed and cached in base image"
# Install Playwright browser runtime in bounded, retryable phases.
# Splitting deps/browser install gives better logs and avoids long silent hangs.
RUN set -eu && \
echo "=== Installing Playwright Browsers ===" && \
playwright --version && \
deps_ok=0 && \
for i in 1 2 3; do \
echo "Attempt $i: playwright system dependencies"; \
if timeout 900 playwright install-deps chromium; then \
deps_ok=1; \
break; \
fi; \
if [ "$i" -lt 3 ]; then \
echo "Attempt $i failed for install-deps, retrying in 15s"; \
sleep 15; \
fi; \
done && \
[ "$deps_ok" -eq 1 ] || (echo "❌ playwright install-deps failed after 3 attempts" && exit 1) && \
browser_ok=0 && \
for i in 1 2 3; do \
echo "Attempt $i: playwright chromium browser"; \
if timeout 1200 playwright install chromium; then \
browser_ok=1; \
break; \
fi; \
if [ "$i" -lt 3 ]; then \
echo "Attempt $i failed for browser install, retrying in 20s"; \
sleep 20; \
fi; \
done && \
[ "$browser_ok" -eq 1 ] || (echo "❌ playwright browser install failed after 3 attempts" && exit 1) && \
playwright install --list && \
echo "✓ Playwright browsers installed and cached in base image"
# Pre-install common Python development dependencies globally
# These are stable tools that rarely change and take time to compile