# 版本发布评审Checklist

该文档用于发布经理在社区版本发布前的质量检查。



## 创新版本Checklist

**1、需求交付情况**

- 对照版本的需求列表，检查社区版本的关键需求是否已经在待发布版本的范围。
  - 如果还有未交付的需求，需要审视影响
- 检查测试对版本关键需求验证结果、遗留问题和约束条件等是否符合预期。
  - 需求的使用场景对应的约束条件对用户的使用限制是否可以接受

**2、测试验证情况**

- 测试团队的测试策略和测试计划的执行情况评估
  - (**必须满足项**)发布测试标准（QA团队发布和维护的发布基本标准）必须100%通过。
  - 原则上基于测试策略的各项活动已经100%完成。如果有未完成的测试活动，评估对下一阶段的影响和风险。

- 各DFX目标达成情况
  - 评估社区版本的性能、升级兼容性、可靠性等能力目标达成情况。
- 对遗留问题进行风险评估
  - （**必须满足项**）遗留不解决的问题需要有风险评估，风险评估结果对应用不会造成致命影响。

- 质量稳定趋势评估
  - （**必须满足项**）从拉出分支之日起，QA团队发现的问题连续两周呈下降趋势。


**3、软件包符合社区发布规范**

- **（必须满足项）**进入发布版本的软件包需100%通过社区合规扫描。
- 软件包应符合社区发布的执行规范，包括打包规范、日志规范、接口规范等等（需要提供执行规范清单）。

**4、（必须满足项）满足安全发布标准**，安全的所有要求，具体请参考：https://gitee.com/openeuler/security-committee

- 版本通过安全合规扫描，这些扫描应在日常的构建过程中就已经完成分析，包括：
  - 通过安全编程规范扫描，并完成对扫描结果的分析和处理，结果得到安全委员会的认可
  - 通过安全编译选项扫描，并完成对扫描结果的分析和处理，结果得到安全委员会的认可
  - 对社区开发项目完成开源代码片段扫描，不存在直接复制或片段引用其他开源项目的情况
  - 通过License合规扫描

- 版本交付件通过病毒扫描，并确认无病毒
- 版本通过漏洞扫描，未解决的漏洞满足遗留原则，无法修复的安全漏洞需要通过安全委员会的评估。
- 安全测试活动基本完成，遗留的安全问题有安全委员会给出的评估意见

**5、产品资料发布**

- （必须满足项）发布配套的资料已经完成，并完成发布前的资料测试。
- 发布资料相关的意见完成评估

**6、可追溯状态检查**

- 所有版本相关的Issue原则上状态应该是已经关闭，且关联的PR也已经关闭。未关闭的Issue，需要有遗留的评估意见。
- 属于版本的所有PR都有对应的Issue。
- 所有PR都在changelog内一一对应，所有PR已经集成到软件包内
- 所有软件包版本分支在拉分支以后统一拉出
- 所有变更都有对应的记录
- 配套版本的发布资料已经完成基线化



## LTS版本Checklist

**1、（必须满足项）需求交付情况**

- 对照版本的需求列表，检查社区版本的关键需求是否已经在待发布版本的范围。
  - 如果还有未交付的需求，需要审视对LTS版本的影响
- 检查测试对版本关键需求验证结果、遗留问题和约束条件等是否符合预期。
  - 需求的使用场景对应的约束条件对用户的使用限制是否可以接受

**2、（必须满足项）测试验证情况**

- 测试团队的测试策略和测试计划的执行情况评估
  - 发布测试标准（QA团队发布和维护的发布红线标准）必须100%通过。
  - 原则上基于测试策略的各项活动已经100%完成。如果有未完成的测试活动，评估对下一阶段的影响和风险。

- 各DFX目标达成情况
  - 评估社区版本的性能、升级兼容性、可靠性等能力目标达成情况。

- ISV典型应用场景验证情况评估
  - 对应用场景验证结果进行评估，是否满足主要的ISV的业务应用诉求

- 对遗留问题进行风险评估
  - 遗留不解决的问题需要有风险评估，风险评估结果对应用不会造成致命影响。

- 质量稳定趋势评估
  - 从拉出分支之日起，QA团队发现的问题连续三周呈下降趋势。

**3、（必须满足项）软件包符合社区发布规范**

- **（必须满足项）**进入发布版本的软件包需100%通过社区合规扫描。
- 软件包应符合社区发布的执行规范，包括打包规范、日志规范、接口规范等等（需要提供执行规范清单）。

**4、（必须满足项）满足安全发布标准**，安全的所有要求，具体请参考：https://gitee.com/openeuler/security-committee

- 版本通过安全合规扫描，这些扫描应在日常的构建过程中就已经完成分析，包括：
  - 通过安全编程规范扫描，并完成对扫描结果的分析和处理，结果得到安全委员会的认可
  - 通过安全编译选项扫描，并完成对扫描结果的分析和处理，结果得到安全委员会的认可
  - 对社区开发项目完成开源代码片段扫描，不存在直接复制或片段引用其他开源项目的情况
  - 通过License合规扫描

- 版本交付件通过病毒扫描，并确认无病毒
- 版本通过漏洞扫描，未解决的漏洞满足遗留原则，无法修复的安全漏洞需要通过安全委员会的评估。
- 安全测试活动基本完成，遗留的安全问题有安全委员会给出的评估意见

**5、（必须满足项）产品资料发布**

- 发布配套的资料已经完成，并完成发布前的资料测试。
- 发布资料相关的意见完成评估

**6、（必须满足项）可追溯状态检查**

- 所有版本相关的Issue原则上状态应该是已经关闭，且关联的PR也已经关闭。未关闭的Issue，需要有遗留的评估意见。
- 属于版本的所有PR都有对应的Issue。
- 所有PR都在changelog内一一对应，所有PR已经集成到软件包内
- 所有软件包版本分支在拉分支以后统一拉出
- 所有变更都有对应的记录
- 配套版本的发布资料已经完成基线化
