More CICD fixes again again again again again again again again again again again again again again again again again again again again again again again again again again again
All checks were successful
CICD Start / Sanity and Base Decision (pull_request) Successful in 1m23s

Signed-off-by: copilotcoder <copilotcoder@darkhelm.org>
This commit is contained in:
copilotcoder
2026-06-10 10:27:08 -04:00
parent 2d7e360eac
commit e9ff67c0fd
3 changed files with 23 additions and 26 deletions

View File

@@ -65,8 +65,8 @@ jobs:
run-check:
name: ${{ matrix.name }}
# Prefer the generic ubuntu-latest label for better runner availability.
runs-on: ubuntu-latest
# Docker-capable runner required: pulls and runs the CICD container image.
runs-on: ubuntu-act
timeout-minutes: 20
needs: setup
strategy:

View File

@@ -65,8 +65,8 @@ jobs:
backend-tests:
name: Backend Tests
# Prefer the generic ubuntu-latest label for better runner availability.
runs-on: ubuntu-latest
# Docker-capable runner required: pulls and runs the CICD container image.
runs-on: ubuntu-act
timeout-minutes: 25
needs: setup
steps:
@@ -119,8 +119,8 @@ jobs:
frontend-tests:
name: Frontend Tests
# Prefer the generic ubuntu-latest label for better runner availability.
runs-on: ubuntu-latest
# Docker-capable runner required: pulls and runs the CICD container image.
runs-on: ubuntu-act
timeout-minutes: 25
needs: setup
steps:
@@ -137,8 +137,8 @@ jobs:
xdoctest:
name: Backend Doctests
# Prefer the generic ubuntu-latest label for better runner availability.
runs-on: ubuntu-latest
# Docker-capable runner required: pulls and runs the CICD container image.
runs-on: ubuntu-act
timeout-minutes: 15
needs: setup
steps:
@@ -156,8 +156,8 @@ jobs:
integration-tests:
name: Integration Tests
# Prefer the generic ubuntu-latest label for better runner availability.
runs-on: ubuntu-latest
# Docker-capable runner required: pulls and runs the CICD container image.
runs-on: ubuntu-act
timeout-minutes: 20
needs: [setup, backend-tests]
steps:
@@ -179,8 +179,8 @@ jobs:
e2e-tests:
name: End-to-End Tests
# Prefer the generic ubuntu-latest label for better runner availability.
runs-on: ubuntu-latest
# Docker-capable runner required: pulls and runs the CICD container image.
runs-on: ubuntu-act
timeout-minutes: 30
needs: [setup, frontend-tests]
steps:

View File

@@ -45,6 +45,7 @@ RUN --mount=type=secret,id=ssh_private_key \
cp /tmp/repo/backend/pyproject.toml /workspace/backend/ 2>/dev/null || echo "No backend pyproject.toml" && \
cp /tmp/repo/frontend/package.json /workspace/frontend/ 2>/dev/null || echo "No frontend package.json" && \
cp /tmp/repo/frontend/yarn.lock /workspace/frontend/ 2>/dev/null || echo "No frontend yarn.lock" && \
cp /tmp/repo/frontend/.yarnrc.yml /workspace/frontend/ 2>/dev/null || echo "No frontend .yarnrc.yml" && \
cp /tmp/repo/.pre-commit-config.yaml /workspace/ 2>/dev/null || echo "No pre-commit config" && \
echo "✓ Dependency files extracted for optimized layer caching" && \
rm -rf ~/.ssh
@@ -138,7 +139,7 @@ RUN echo "Copying source code while preserving installed dependencies..." && \
if [ "$basename_item" = "backend" ] && [ -d "/workspace/backend/.venv" ]; then \
echo "Copying backend files while preserving .venv..."; \
find "$item" -mindepth 1 -maxdepth 1 ! -name ".venv" -exec cp -rf {} /workspace/backend/ \;; \
elif [ "$basename_item" = "frontend" ] && ([ -d "/workspace/frontend/node_modules" ] || [ -f "/workspace/frontend/.pnp.cjs" ]); then \
elif [ "$basename_item" = "frontend" ] && [ -d "/workspace/frontend/node_modules" ]; then \
echo "Copying frontend files (will regenerate Yarn state after)..."; \
cp -rf "$item"/* /workspace/frontend/; \
else \
@@ -157,15 +158,15 @@ RUN echo "Copying source code while preserving installed dependencies..." && \
echo "✓ Full source code copied, dependencies preserved" && \
rm -rf /tmp/repo
# PHASE 3.5: Regenerate Yarn PnP state after source code update
# PHASE 3.5: Re-link Yarn after source code update (node-modules linker only)
WORKDIR /workspace/frontend
RUN if [ -f "package.json" ] && [ -f ".pnp.cjs" ]; then \
echo "=== Regenerating Yarn PnP State After Source Code Update ===" && \
echo "Source package.json and installed dependencies may have differences..." && \
RUN if [ -f "package.json" ] && [ -d "node_modules" ]; then \
echo "=== Re-linking Yarn node_modules After Source Code Update ===" && \
echo "Ensuring package.json and installed node_modules are in sync..." && \
yarn install --immutable && \
echo "✓ Yarn PnP state regenerated successfully - tools should now work"; \
echo "✓ Yarn node_modules re-linked successfully"; \
else \
echo " No Yarn PnP setup detected, skipping state regeneration"; \
echo " No node_modules detected, skipping Yarn re-link"; \
fi
# PHASE 4: Install backend package in development mode (requires full source)
@@ -233,7 +234,7 @@ RUN cd /workspace/frontend && \
if [ -f ".frontend-deps-failed" ]; then \
echo "WARNING: Skipping frontend tool verification due to failed dependencies installation"; \
echo "Frontend CI/CD jobs may be limited in this environment"; \
elif [ -d "node_modules" ] || [ -f ".pnp.cjs" ]; then \
elif [ -d "node_modules" ]; then \
verify_required_tool() { \
tool_name="$1"; \
yarn_target="$2"; \
@@ -257,18 +258,14 @@ RUN cd /workspace/frontend && \
echo "${tool_name} version check failed under Yarn wrapper; continuing"; \
return 0; \
}; \
if [ -f ".pnp.cjs" ]; then \
echo "✓ Yarn PnP dependencies found (.pnp.cjs), verifying tools..."; \
else \
echo "✓ Traditional node_modules found, verifying tools..."; \
fi && \
echo "✓ node_modules dependencies found, verifying tools..." && \
verify_required_tool "eslint" "eslint" "eslint" && \
verify_required_tool "prettier" "prettier" "prettier" && \
verify_required_tool "typescript" "tsc" "tsc" && \
verify_optional_yarn_tool "vitest" "vitest" && \
echo "✓ All frontend tools verified successfully"; \
else \
echo "ERROR: No frontend dependencies found (neither node_modules nor .pnp.cjs)"; \
echo "ERROR: No frontend node_modules found"; \
echo "Available files in frontend:"; \
ls -la .; \
exit 1; \