# 创建发版测试

## 切出一个发版分支

从 [test-plan](https://github.com/pingcap/test-plan) 的 main 分支中切出一个发版分支，名字可以是一个 semver，如 `v5.3.0`。

### 更新 `meta.yaml`

为了指定待测 tidb 的版本，需要更新 test-plan 根目录下的 `meta.yaml` 文件，如 [v5.3.0/meta.yaml](https://github.com/pingcap/test-plan/blob/v5.3.0/meta.yaml)：

```yaml
parameters:
    tidb_image: hub-new.pingcap.net/qa/tidb:v5.3.0-pre
    pd_image: hub-new.pingcap.net/qa/pd:v5.3.0-pre
    tikv_image: hub-new.pingcap.net/qa/tikv:v5.3.0-pre
```

### 添加 plan 到发版测试

默认情况下，plan 是不纳入发版的，需要手动纳入在 plan.yaml 的 tags 中加入 `release` 标识，如 [basic_real_time_plan_tidb.yaml](https://github.com/pingcap/test-plan/blob/04f00c39c36f3cd44614990d13b9b4b5b9ade0d7/data-platform/cdc/basic_real_time_plan_tidb.yaml#L5)。

## 在 TCMS 上触发发版测试

准备好上述的 test-plan 发版分支后，就可以在 [TCMS 发版页面](https://tcms.pingcap.net/dashboard/releases) 上触发发版测试了。

1. 点击发版页面右上角的 `+ Create Release Trigger` 按钮
2. 给发版测试起个名字、填入我们刚才在 test-plan 中创建的分支名
3. 点击 `Confirm` 按钮

![release-view](static/release-view.jpg)

TCMS 会在后台扫描该发版分支中所有带有 `release` tag 的 plan，并将它们自动加入到发版测试。点击 `View details` 查看执行结果：

![release-view-detail-exec](static/release-view-detail-exec.jpg)

### 动态添加 plan 到发版测试

如果忘记在 plan.yaml 中加上 `release` tag，那么也可以在发版测试中动态添加 plan。步骤：

点击 `View details` -> 切到 `Available Plans` 栏 -> 选择你需要添加的 plan（点击第一列选择框）-> 点击右上角 `Add to trigger` 按钮

![release-view-detail-plan](static/release-view-detail-plan.jpg)

### 重跑测试

某个 plan 执行失败了，可能是因为某些资源不够，需要重新执行。步骤：

点击 `View details` -> 在 `Available Plans` 栏中选择你需要 rerun 的 plan-executions（点击第一列选择框）-> 点击右上角 `Re-run` 按钮
