Skip to content

feat:add new ui and refractor the whole system using claude opus 4.5 #1

feat:add new ui and refractor the whole system using claude opus 4.5

feat:add new ui and refractor the whole system using claude opus 4.5 #1

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
env:
PYTHON_VERSION: "3.11"
NODE_VERSION: "20"
jobs:
# ============================================
# Backend Tests
# ============================================
backend-test:
name: Backend Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Run linting
run: |
ruff check src/ tests/
- name: Run type checking
run: |
mypy src/ --ignore-missing-imports
- name: Run tests
env:
ENVIRONMENT: testing
SECRET_KEY: test-secret-key
OPENAI_API_KEY: test-api-key
run: |
pytest tests/ -v --cov=src --cov-report=xml
- name: Upload coverage
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
fail_ci_if_error: false
# ============================================
# Frontend Tests
# ============================================
frontend-test:
name: Frontend Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
working-directory: frontend
run: npm ci
- name: Run linting
working-directory: frontend
run: npm run lint
- name: Run type check
working-directory: frontend
run: npm run type-check
- name: Build frontend
working-directory: frontend
run: npm run build
# ============================================
# Build Docker Image
# ============================================
build:
name: Build Docker Image
runs-on: ubuntu-latest
needs: [backend-test, frontend-test]
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: agent-bot:latest
cache-from: type=gha
cache-to: type=gha,mode=max
# ============================================
# Security Scan
# ============================================
security:
name: Security Scan
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
scan-ref: '.'
severity: 'CRITICAL,HIGH'
format: 'sarif'
output: 'trivy-results.sarif'
- name: Upload Trivy scan results
uses: github/codeql-action/upload-sarif@v2
if: always()
with:
sarif_file: 'trivy-results.sarif'