feat(ci): add test-ci workflow with unit and integration test phases
- Dominant language
- Python
- Stars
- 485
- Forks
- 81
- Avg merge
- 16h 12m
- Merged PRs (30d)
- 8
Description
**Feature Category**
- [ ] Sandbox
- [ ] Actions
- [ ] Deployments
- [ ] SDK & API
- [ ] Envhub
- [ ] CLI
- [x] Performance & Optimization
- [ ] Documentation & Examples
**Problem Statement**
**Proposed Solution**
新建 CI 工作流 test-ci.yml,将测试按目录 + marker 双重维度组织,分为单元测试和集成测试两大阶段,所有测试在单个 Job 内按 Step 顺序执行。
**Detailed Feature Description**
1. 工作流结构(单 Job / 12 Steps)
Setup:
1.1 安装依赖(uv sync)
1.2 清理过期 Ray 会话
Phase 1 — 单元测试:
1.3 Unit / Fast — tests/unit/ 下无外部依赖的快速单测
1.4 Unit / Ray — tests/unit/ 下需要 Ray 集群的单测
1.5 Unit / Admin — tests/unit/ 下需要 Admin 服务的单测(无测试时自动跳过)
1.6 Unit / Admin + Network — tests/unit/ 下需要 Admin + 网络的单测(无测试时自动跳过)
Phase 2 — 集成测试(单测全部通过后顺序执行):
1.7 Integration / Ray — tests/integration/ 下需要 Ray 集群的集成测试
1.8 Integration / Admin — tests/integration/ 下需要 Admin 服务的集成测试
1.9 Integration / Admin + Network — tests/integration/ 下需要 Admin + 网络的集成测试
1.10 统一上传所有 JUnit XML 测试报告为 Artifact
2. 触发条件
2.1 push / pull_request 到 master 或 release/**
2.2 workflow_dispatch 手动触发,支持 skip_integration 参数跳过集成测试
3. 涉及文件
新增:.github/workflows/test-ci.yml
Contributor guide
No contributing guide indexed for this repository
Research direction
Create .github/workflows/test-ci.yml after reviewing the existing tests under tests/unit/ and tests/integration/ and the repository's uv setup. Organize the workflow into the specified unit and integration phases, support push, pull_request, and workflow_dispatch with skip_integration, and confirm that JUnit XML reports are uploaded as an artifact.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- ci-cd, testing-qa
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100