@@ -31,17 +31,19 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python 3.13
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.13'
|
||||
|
||||
- name: Install uv
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Install backend dependencies
|
||||
run: |
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
cd backend
|
||||
uv venv
|
||||
source .venv/bin/activate
|
||||
@@ -94,34 +96,34 @@ jobs:
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: frontend/package-lock.json
|
||||
cache: 'yarn'
|
||||
cache-dependency-path: frontend/yarn.lock
|
||||
|
||||
- name: Install frontend dependencies
|
||||
run: |
|
||||
cd frontend
|
||||
npm ci
|
||||
yarn install --frozen-lockfile
|
||||
|
||||
- name: Run frontend linting (ESLint)
|
||||
run: |
|
||||
cd frontend
|
||||
npm run lint
|
||||
yarn lint
|
||||
|
||||
- name: Run frontend formatting check (Prettier)
|
||||
run: |
|
||||
cd frontend
|
||||
npm run format:check
|
||||
yarn format:check
|
||||
|
||||
- name: Run frontend type checking (vue-tsc)
|
||||
run: |
|
||||
cd frontend
|
||||
npm run type-check
|
||||
yarn type-check
|
||||
|
||||
- name: Run frontend tests with coverage and automatic Zod validation
|
||||
run: |
|
||||
cd frontend
|
||||
# Zod validation happens automatically in test mode, no explicit .parse() calls needed
|
||||
npm run test:coverage
|
||||
yarn test:coverage
|
||||
|
||||
- name: Upload frontend coverage to artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
@@ -164,7 +166,7 @@ jobs:
|
||||
|
||||
# Run integration tests
|
||||
docker compose -f compose.yml -f compose.dev.yml exec -T backend pytest tests/integration/
|
||||
docker compose -f compose.yml -f compose.dev.yml exec -T frontend npm run test:e2e
|
||||
docker compose -f compose.yml -f compose.dev.yml exec -T frontend yarn test:e2e
|
||||
|
||||
- name: Cleanup
|
||||
if: always()
|
||||
|
||||
Reference in New Issue
Block a user