-
Notifications
You must be signed in to change notification settings - Fork 35
133 lines (108 loc) · 3.66 KB
/
Copy pathpull-request.yml
File metadata and controls
133 lines (108 loc) · 3.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
name: MAIN_PULL_REQUEST
on:
pull_request:
branches: [develop, main]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: check_github_primary_email
run: |
# 获取最新提交的作者邮箱和提交者邮箱
log_emails=$(git log --pretty=format:"%ae %ce" -1)
# 如果邮箱包含 'tdesign@tencent.com',跳过验证
if [[ ${log_emails} =~ 'tdesign@tencent.com' ]];then
echo "$log_emails 跳过验证"
exit 0
fi
# 如果邮箱包含 '@tencent.com',校验失败,提示用户更改邮箱
if [[ ${log_emails} =~ '@tencent.com' ]];then
echo "默认邮箱 $log_emails 校验非法,可以去 https://github.com/settings/emails 更改"
exit 2;
else
# 否则,校验通过
echo "邮箱 $log_emails 校验通过";
fi
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: check_local_email
run: |
# 获取最新提交的作者邮箱和提交者邮箱
log_emails=$(git log --pretty=format:"%ae %ce" -1)
# 如果邮箱包含 'tdesign@tencent.com',跳过验证
if [[ ${log_emails} =~ 'tdesign@tencent.com' ]];then
echo "$log_emails 跳过验证"
exit 0
fi
# 如果邮箱包含 '@tencent.com',校验失败,提示用户更改本地邮箱
if [[ ${log_emails} =~ '@tencent.com' ]];then
echo "本地提交邮箱 $log_emails 校验非法,需要本地更改重新提交"
exit 2;
else
# 否则,校验通过
echo "邮箱 $log_emails 校验通过";
fi
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
icons:
- tdesign-icons-vue
- tdesign-icons-vue-next
- tdesign-icons-react
- tdesign-icons-svg
- tdesign-icons-view
- tdesign-icons-web-components
- tdesign-icons-flutter
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version-file: .node-version
cache: "pnpm"
- run: pnpm install --frozen-lockfile
- run: pnpm run generate
- if: matrix.icons != 'tdesign-icons-flutter'
run: pnpm run --filter ${{ matrix.icons }} build
- if: matrix.icons == 'tdesign-icons-flutter'
uses: dart-lang/setup-dart@v1
- if: matrix.icons == 'tdesign-icons-flutter'
run: dart ./tool/generate.dart
working-directory: ./packages/flutter
site:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version-file: .node-version
cache: "pnpm"
- run: pnpm install --frozen-lockfile
- run: pnpm run generate
- run: pnpm run --filter tdesign-icons-view preview
- run: mv packages/view/dist _site
- run: zip -r _site.zip _site
- name: upload _site artifact
uses: actions/upload-artifact@v4
with:
name: _site
path: _site.zip
retention-days: 5
- name: Save PR number
if: always()
run: echo ${{ github.event.number }} > ./pr-id.txt
- name: Upload PR number
if: always()
uses: actions/upload-artifact@v4
with:
name: pr
path: ./pr-id.txt