alibaba / alibaba/ROCK

feat(ci): add test-ci workflow with unit and integration test phases

Open
#761 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.