mirror of
https://github.com/iflytek/skillhub.git
synced 2026-08-27 11:14:59 +00:00
chore: unify build and test entrypoints
This commit is contained in:
parent
7ced9d38f0
commit
033ac54c76
5 changed files with 34 additions and 19 deletions
17
.github/workflows/pr-tests.yml
vendored
17
.github/workflows/pr-tests.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
33
Makefile
33
Makefile
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
mock-maker-subclass
|
||||
|
|
@ -0,0 +1 @@
|
|||
mock-maker-subclass
|
||||
|
|
@ -0,0 +1 @@
|
|||
mock-maker-subclass
|
||||
Loading…
Add table
Reference in a new issue