chore: unify build and test entrypoints

This commit is contained in:
vsxd 2026-03-17 14:09:22 +08:00
parent 7ced9d38f0
commit 033ac54c76
5 changed files with 34 additions and 19 deletions

View file

@ -21,9 +21,6 @@ jobs:
name: Web Build And Test
if: ${{ github.event_name != 'pull_request' || !github.event.pull_request.draft }}
runs-on: ubuntu-latest
defaults:
run:
working-directory: web
steps:
- name: Check out repository
@ -41,22 +38,16 @@ jobs:
cache: pnpm
cache-dependency-path: web/pnpm-lock.yaml
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build frontend
run: pnpm build
run: make build-frontend
- name: Run frontend unit tests
run: pnpm test
run: make test-frontend
server-tests:
name: Server Unit Tests
if: ${{ github.event_name != 'pull_request' || !github.event.pull_request.draft }}
runs-on: ubuntu-latest
defaults:
run:
working-directory: server
steps:
- name: Check out repository
@ -70,7 +61,7 @@ jobs:
cache: maven
- name: Ensure Maven wrapper is executable
run: chmod +x mvnw
run: chmod +x server/mvnw
- name: Run backend unit tests
run: ./mvnw test
run: make test-backend

View file

@ -1,4 +1,4 @@
.PHONY: help dev dev-all dev-down dev-all-down dev-all-reset dev-logs dev-status build test clean web-install dev-server dev-server-restart dev-web build-web test-web typecheck-web lint-web generate-api db-reset namespace-smoke validate-release-config staging staging-down staging-logs pr parallel-init parallel-sync parallel-up parallel-down
.PHONY: help dev dev-all dev-down dev-all-down dev-all-reset dev-logs dev-status build test check clean web-deps web-install web-install-ci dev-server dev-server-restart dev-web build-backend test-backend build-frontend test-frontend build-web test-web typecheck-web lint-web generate-api db-reset namespace-smoke validate-release-config staging staging-down staging-logs pr parallel-init parallel-sync parallel-up parallel-down
DEV_DIR := .dev
DEV_SERVER_PID := $(DEV_DIR)/server.pid
@ -13,6 +13,7 @@ STAGING_SERVER_IMAGE := skillhub-server:staging
DEV_PROCESS := python3 scripts/dev_process.py
DEV_SERVER_PREPARE := true
DEV_SERVER_CMD := ./scripts/run-dev-app.sh
BACKEND_TEST_JAVA_OPTIONS ?= -XX:+EnableDynamicAgentLoading
PARALLEL_BASE_REF ?= origin/main
PARALLEL_WORKTREE_ROOT ?=
DEV_COMPOSE_PROJECT_NAME ?= skillhub
@ -163,11 +164,17 @@ dev-logs: ## 实时查看开发服务日志backend/frontend默认 backend
exit 1; \
fi
build: ## 构建后端
build-backend: ## 构建后端
cd server && ./mvnw clean package -DskipTests
test: ## 运行后端测试
cd server && ./mvnw test
test-backend: ## 运行后端单元测试
cd server && JDK_JAVA_OPTIONS="$(BACKEND_TEST_JAVA_OPTIONS)" ./mvnw test
build: build-backend build-frontend ## 完整构建前后端
test: test-backend test-frontend ## 运行前后端完整单元测试
check: build test ## 执行前后端完整构建和完整单元测试
clean: ## 清理构建产物
cd server && ./mvnw clean
@ -181,15 +188,29 @@ generate-api: ## 生成 OpenAPI 类型(前端用)
web-install: ## 安装前端依赖
cd web && pnpm install
web-deps: ## 确保前端依赖可用(本地开发优先复用现有 node_modules
@if [ -d web/node_modules ]; then \
echo "Using existing frontend dependencies."; \
else \
$(MAKE) web-install-ci; \
fi
web-install-ci: ## 以 CI 方式安装前端依赖
cd web && pnpm run install:ci
dev-web: ## 启动前端开发服务器
cd web && pnpm run dev
build-web: ## 构建前端
build-frontend: web-deps ## 构建前端
cd web && pnpm run build
test-web: ## 运行前端测试
test-frontend: web-deps ## 运行前端单元测试
cd web && pnpm run test
build-web: build-frontend ## 构建前端
test-web: test-frontend ## 运行前端测试
typecheck-web: ## 前端类型检查
cd web && pnpm run typecheck

View file

@ -0,0 +1 @@
mock-maker-subclass

View file

@ -0,0 +1 @@
mock-maker-subclass

View file

@ -0,0 +1 @@
mock-maker-subclass