Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ ARCHON_DOCS_PORT=3838
# Default: false (feature disabled)
# Set to "true" to enable: ENABLE_AGENT_WORK_ORDERS=true
# When enabled, requires Claude API key and GitHub PAT (see above)
ENABLE_AGENT_WORK_ORDERS=true
ENABLE_AGENT_WORK_ORDERS=false

# Agent Work Orders Service Configuration (Optional)
# Only needed if ENABLE_AGENT_WORK_ORDERS=true
Expand Down
57 changes: 25 additions & 32 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,37 +39,30 @@ jobs:
- name: Install dependencies
run: npm ci

# - name: Run ESLint
# run: npm run lint
#
# - name: Run TypeScript type check
# run: npx tsc --noEmit
#
# - name: Run Vitest tests with coverage
# run: npm run test:coverage:run
#
# - name: Generate test summary
# if: always()
# run: npm run test:coverage:summary
#
# - name: Upload frontend test results
# if: always()
# uses: actions/upload-artifact@v4
# with:
# name: frontend-test-results
# path: |
# archon-ui-main/coverage/test-results.json
# archon-ui-main/public/test-results/
# retention-days: 30
#
# - name: Upload frontend coverage to Codecov
# if: always()
# uses: codecov/codecov-action@v4
# with:
# files: ./archon-ui-main/public/test-results/coverage/lcov.info
# flags: frontend
# name: frontend-coverage
# token: ${{ secrets.CODECOV_TOKEN }}
- name: Run TypeScript type check
continue-on-error: true
run: npx tsc --noEmit

- name: Run Vitest tests with coverage
run: npm run test:coverage:run

- name: Upload frontend test results
if: always()
uses: actions/upload-artifact@v4
with:
name: frontend-test-results
path: |
archon-ui-main/coverage/
retention-days: 30

- name: Upload frontend coverage to Codecov
if: always()
uses: codecov/codecov-action@v4
with:
files: ./archon-ui-main/coverage/lcov.info
Comment on lines +58 to +62
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Point coverage uploads to Vitest output directory

The workflow now uploads archon-ui-main/coverage/ and sends Codecov ./archon-ui-main/coverage/lcov.info, but the Vitest config writes JSON and coverage to ./public/test-results/test-results.json and ./public/test-results/coverage (see archon-ui-main/vitest.config.ts lines 30–46). As a result, the artifact upload and Codecov step will target non-existent paths, so CI loses coverage and test result artifacts even when tests pass.

Useful? React with 👍 / 👎.

flags: frontend
name: frontend-coverage
token: ${{ secrets.CODECOV_TOKEN }}

# Job 2: Backend Testing (Python/pytest)
backend-tests:
Expand Down Expand Up @@ -294,7 +287,7 @@ jobs:
# Architecture Context
echo "## 🏗️ Architecture Tested" >> $GITHUB_STEP_SUMMARY
echo "- **Frontend**: React + TypeScript + Vite (Port 3737)" >> $GITHUB_STEP_SUMMARY
echo "- **Server**: FastAPI + Socket.IO + Python (Port 8181)" >> $GITHUB_STEP_SUMMARY
echo "- **Server**: FastAPI + Python (Port 8181)" >> $GITHUB_STEP_SUMMARY
echo "- **MCP Service**: MCP protocol server (Port 8051)" >> $GITHUB_STEP_SUMMARY
echo "- **Agents Service**: PydanticAI agents (Port 8052)" >> $GITHUB_STEP_SUMMARY
echo "- **Database**: Supabase (PostgreSQL + pgvector)" >> $GITHUB_STEP_SUMMARY
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ check:
dev: check
@echo "Starting hybrid development..."
@echo "Backend: Docker | Frontend: Local with hot reload"
@$(COMPOSE) --profile backend up -d --build
@$(COMPOSE) up archon-server archon-mcp -d --build
@set -a; [ -f .env ] && . ./.env; set +a; \
echo "Backend running at http://$${HOST:-localhost}:$${ARCHON_SERVER_PORT:-8181}"
@echo "Starting frontend..."
Expand All @@ -61,7 +61,7 @@ dev: check
# Full Docker development (backend + frontend, no work orders)
dev-docker: check
@echo "Starting Docker environment (backend + frontend)..."
@$(COMPOSE) --profile full up -d --build
@$(COMPOSE) up archon-server archon-mcp archon-frontend -d --build
@echo "✓ Services running"
@echo "Frontend: http://localhost:3737"
@echo "API: http://localhost:8181"
Expand Down Expand Up @@ -124,7 +124,7 @@ dev-hybrid-work-orders: check
# Stop all services
stop:
@echo "Stopping all services..."
@$(COMPOSE) --profile backend --profile frontend --profile full --profile work-orders down
@$(COMPOSE) --profile agents --profile work-orders down
@echo "✓ Services stopped"
Comment on lines 125 to 128
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

The stop target may not stop containers started by dev or dev-docker.

The stop target now only brings down containers with --profile agents --profile work-orders. Containers started by make dev (archon-server, archon-mcp) or make dev-docker (archon-server, archon-mcp, archon-frontend) are not started with these profiles, so make stop won't stop them.

Consider using a simpler approach that stops all project containers:

Proposed fix
 # Stop all services
 stop:
 	`@echo` "Stopping all services..."
-	@$(COMPOSE) --profile agents --profile work-orders down
+	@$(COMPOSE) down
 	`@echo` "✓ Services stopped"

Or, if profile-based shutdown is intentional for some reason, provide an additional target like stop-all that runs $(COMPOSE) down without profile filters.

🤖 Prompt for AI Agents
In `@Makefile` around lines 125 - 128, The stop target currently only brings down
services with --profile agents --profile work-orders so containers started by
make dev or make dev-docker (which start archon-server, archon-mcp,
archon-frontend without those profiles) remain running; update the Makefile so
the stop target runs $(COMPOSE) down without profile filters to stop all project
containers, or alternatively add a new stop-all target (e.g., stop-all:;
@$(COMPOSE) down) to perform an unfiltered shutdown while keeping the existing
profile-scoped stop intact.


# Run all tests
Expand Down
10 changes: 10 additions & 0 deletions archon-ui-main/.env.example
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Frontend Environment Configuration

# Server Configuration (Optional)
# Only set if running frontend separately from backend
# VITE_ARCHON_SERVER_PORT=8181
# VITE_ARCHON_SERVER_HOST=localhost

# Allowed Hosts (Optional)
# Comma-separated list of additional hosts allowed for Vite dev server
# Example: VITE_ALLOWED_HOSTS=192.168.1.100,myhost.local
# VITE_ALLOWED_HOSTS=

# Agent Work Orders Service (Optional)
# Only set if agent work orders service runs on different host/port than main server
# Default: Uses proxy through main server at /api/agent-work-orders
Expand Down
Loading
Loading