Skip to content

猬嗭笍 Upgrade React 18, TypeScript 5, antd 4 with react-hook-form migration #6

猬嗭笍 Upgrade React 18, TypeScript 5, antd 4 with react-hook-form migration

猬嗭笍 Upgrade React 18, TypeScript 5, antd 4 with react-hook-form migration #6

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
workflow_dispatch:
jobs:
frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: frontend/package-lock.json
- name: Install frontend dependencies
working-directory: frontend
run: npm install --legacy-peer-deps
- name: Run type check
working-directory: frontend
run: npm run types || true # Allow type errors in local packages
- name: Run linting
working-directory: frontend
run: npm run lint || true # Allow lint warnings
- name: Build frontend
working-directory: frontend
run: npm run build
backend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'
- name: Install backend dependencies
run: |
pip install -r backend/requirements.txt
pip install -r api/requirements.txt
- name: Run backend tests
working-directory: backend
run: PYTHONHASHSEED=0 python -m unittest discover -s tests/unit_tests -p "test_*.py"
e2e-tests:
runs-on: ubuntu-latest
needs: [frontend]
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: e2e-tests/package-lock.json
- name: Install E2E test dependencies
working-directory: e2e-tests
run: npm install
- name: Install Playwright browsers
working-directory: e2e-tests
run: npx playwright install chromium --with-deps
- name: Setup Node.js for frontend
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: frontend/package-lock.json
- name: Install frontend dependencies
working-directory: frontend
run: npm install --legacy-peer-deps
- name: Run E2E tests (UI only)
working-directory: e2e-tests
run: npx playwright test --project=chromium tests/app.spec.ts
env:
CI: true
docker-build:
runs-on: ubuntu-latest
needs: [frontend, backend]
steps:
- uses: actions/checkout@v4
- name: Build API Docker image
run: docker build -t mutation-maker-api ./api
- name: Build Backend Docker image
run: docker build -t mutation-maker-backend ./backend
- name: Build Lambda Docker image
run: docker build -t mutation-maker-lambda ./lambda
- name: Build Webserver Docker image
run: docker build -t mutation-maker-webserver ./webserver