Skip to content

Commit 840c477

Browse files
authored
chore: update publish frequency descriptions (#2969)
* chore: update Publish.md * chore: fix table test * chore: update PUBLISH.md
1 parent 1d34418 commit 840c477

File tree

2 files changed

+19
-47
lines changed

2 files changed

+19
-47
lines changed

PUBLISH.md

Lines changed: 8 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,18 @@
22

33
## 发布频率
44

5-
组件库正常每周滚动发布版本,一般在周三/周四,尽量不在周五或晚上发布,防止周末非工作时间响应不及时
5+
组件库正常每两周滚动发布版本,一般在周三/周四,尽量不在周五或晚上发布,防止周末非工作时间响应不及时
66

77
如果遇到用户要求紧急修复 bug,可以视情况发布 PATCH 或先行版本,判断标准:
88

9-
- 影响范围大,大多数用户都可能会遇到问题:请遵照正常发布流程严格测试产物质量及整理 changelog 后发布 PATCH 版本,以使用户可以自动更新到
9+
- 影响范围大,大多数用户都可能会遇到问题:请遵照正常发布流程严格测试产物质量及整理 CHANGELOG 后发布 PATCH 版本,以使用户可以自动更新到
1010
- 新上线的功能,仅有少量用户使用:可以不整理 changelog,直接发布先行版本供用户使用,如 `x.y.z-alpha`
1111

12-
## 版本号说明
13-
14-
版本号设置遵循 [SemVer 语义化版本控制规范 2.0.0](https://semver.org/lang/zh-CN/),一切以保证用户版本稳定性为前提,原则如下:
15-
16-
- 当进行不兼容的 API 更改时,升级 MAJOR 版本
17-
- 当以向后兼容的方式添加功能时,升级 MINOR 版本
18-
- 当进行向后兼容的缺陷修复时,升级 PATCH 版本
19-
20-
目前我们还没有发布 1.0.0 版本,因此以 MINOR 作为 breaking change 时的迭代版本号
21-
22-
### 原因
23-
24-
用户项目的 package.json 文件中一般使用 `^``~` 来限制包版本:
25-
26-
- `^`: 只会执行不更改最左边非零数字的更新,如果写入的是 ^0.13.0,可以更新到 0.13.1、0.13.2 等,但不能更新到 0.14.0 或更高版本。 如果写入的是 ^1.13.0,则当运行 npm update 时,可以更新到 1.13.1、1.14.0 等,但不能更新到 2.0.0 或更高版本
27-
- `~`: 如果写入的是 〜0.13.0,则当运行 npm update 时,会更新到补丁版本:即 0.13.1 可以,但 0.14.0 不可以。
28-
29-
参考 [使用 npm 的语义版本控制](http://nodejs.cn/learn/semantic-versioning-using-npm)[npm/node-semver](https://github.com/npm/node-semver#caret-ranges-123-025-004)
30-
31-
## 发布人职责
32-
33-
负责本次发布的同学应该
34-
35-
- review 这一迭代周期内的所有 MR 是否被正常合并,每个 MR 的描述是否准确,如果有关联的 issue,需要在 MR 评论中补充 issue 链接
36-
- 是否所有 issue 都得到了处理,如果已有 mr,请在 issue 中评论 mr 链接(目前工蜂还不能像 GitHub 一样在 issue 中自动显示关联 mr)
37-
- 根据 MR 和 issue 整理 changelog (可以使用 [publish-cli](https://github.com/Tencent/tdesign-starter-cli/tree/main/packages/publish-cli) 帮助生成)
38-
- 如果发布了 Breaking Change 版本,应该把上一个 MAJOR 版本的版本号更新至官网历史版本处,以支持历史版本官网供用户查看。
39-
4012
## 发布流程
4113

42-
-`develop` 新建 `docs/x.y.z-changelog` 分支,整理 changelog 并 push 分支到远端
43-
- changelog 分支链接发到群里召唤小伙伴们一起 review
44-
- review 无误,`squash merge` 到 develop,保持只有一条更改 changelog 内容的 commit
45-
- 本地删除 node_modules 目录后重新安装依赖后,执行 `npm run build` 通过
46-
- 推送 develop 分支到远端,触发部署体验环境,验证体验环境无误
47-
- 本地 `git tag x.y.z``git push origin x.y.z`,触发 [TAG_PUSH](https://github.com/Tencent/tdesign-vue/blob/develop/.github/workflows/tag-push.yml) GitAction 进行发包动作
48-
- 包发布成功后,merge develop 到 main 分支,推送远端后触发官网部署流水线
49-
- 官网部署完毕后,企微机器人通知群里用户更新
50-
- copy changelog 到 GitHub repo release(后面考虑改成自动触发更新 release)
51-
- 内网 mk TDesign 发版 Topic 下,copy changelog 内容发布新的版本更新动态
14+
-`develop` 新建 `release/x.y.z` 分支,并修改 `package.json` 中的版本号,推送分支至远程仓库,并提交一个合入`develop`的 Pull Request 到仓库
15+
- 仓库的 Github Action 会自动整理上个版本至今 commit 对应的 CHANGELOG,并将 CHANGELOG 的 draft 作为一个评论推送到该 Pull Request 上
16+
- 发布人检查 CHANGELOG,并优化内容逻辑结构,确认无误后删除对于评论首行提示,Github Action 会将优化后的内容写入 CHANGELOG.md 内
17+
- 确认无误后,合并分支入`develop`
18+
- 合入 `develop` 后,仓库会触发 Github Action 合入`main`分支,并将版本号作为 `tag` 打在仓库上,并触发 Github Action 执行 npm 版本发布流程
19+
- 合入 `main` 分支后,站点的部署流水线 web hook 会监听到 `main` 分支的新增 commit,并触发流水线,官网更新站点

src/table/__tests__/serial-number/controlled.test.jsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { mount } from '@vue/test-utils';
2+
import { mockDelay } from '@test/utils';
3+
import { afterEach } from 'vitest';
24
import {
35
Table, BaseTable, PrimaryTable, EnhancedTable,
46
} from '@/src/table/index.ts';
5-
import { mockDelay } from '@test/utils';
6-
import { afterEach } from 'vitest';
77

88
// 4 类表格组件同时测试
99
const TABLES = [Table, BaseTable, PrimaryTable, EnhancedTable];
@@ -24,7 +24,7 @@ const SIMPLE_COLUMNS = [
2424
{ title: 'Instance', colKey: 'instance' },
2525
];
2626

27-
function getTableMount() {
27+
function getTableMount(TTable) {
2828
return mount({
2929
data() {
3030
return {
@@ -42,7 +42,7 @@ function getTableMount() {
4242
},
4343
goToNextPage() {
4444
const { current, total, pageSize } = this.pagination;
45-
this.pagination.current = Math.min(current + 1, Math.ceil(total / pageSize) );
45+
this.pagination.current = Math.min(current + 1, Math.ceil(total / pageSize));
4646
},
4747
onPaginationChange(pageInfo) {
4848
this.pagination.current = pageInfo.current;
@@ -53,8 +53,12 @@ function getTableMount() {
5353
render() {
5454
return (
5555
<div>
56-
<button class='prev-page' onClick={this.goToPrevPage}>PrevPage</button>
57-
<button class='next-page' onClick={this.goToNextPage}>NextPage</button>
56+
<button class="prev-page" onClick={this.goToPrevPage}>
57+
PrevPage
58+
</button>
59+
<button class="next-page" onClick={this.goToNextPage}>
60+
NextPage
61+
</button>
5862
<TTable
5963
rowKey="id"
6064
data={this.data}
@@ -79,7 +83,7 @@ TABLES.forEach((TTable) => {
7983
});
8084

8185
it('controlled mode', async () => {
82-
const wrapper = getTableMount();
86+
const wrapper = getTableMount(TTable);
8387

8488
const firstSerialNumberClass = '.t-table tbody tr td:first-child';
8589
expect(wrapper.find('.t-table__pagination').exists()).toBeTruthy();

0 commit comments

Comments
 (0)