-
Notifications
You must be signed in to change notification settings - Fork 1.8k
131 lines (127 loc) · 3.49 KB
/
publish-npm.yml
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
name: Npm Publish
on: [workflow_dispatch]
jobs:
checkVersion:
name: Check package version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Check package version
id: check
uses: PostHog/check-package-version@v2
with:
path: ./apps/editor/
- name: Cancel when unchanged
uses: andymckay/[email protected]
if: steps.check.outputs.is-new-version == 'false'
pre-check:
needs: [checkVersion]
runs-on: ubuntu-latest
steps:
- name: Checkout branch
uses: actions/checkout@v2
- name: Use Node.js 15.x
uses: actions/[email protected]
with:
node-version: '15.x'
- name: Install
run: |
npm ci
- name: Eslint
run: |
npm run lint:all
- name: Check types
run: |
npm run test:types:all
test:
needs: [checkVersion]
runs-on: ubuntu-latest
steps:
- name: Checkout branch
uses: actions/checkout@v2
- name: Use Node.js 15.x
uses: actions/[email protected]
with:
node-version: '15.x'
- name: Install
run: |
npm ci
- name: Build
run: |
npm run build toastmark
- name: Toastmark unit, integration test
run: |
npm run test:ci toastmark
- name: Editor unit, integration test
run: |
npm run test:ci editor
plugin-test:
needs: [checkVersion]
runs-on: ubuntu-latest
steps:
- name: Checkout branch
uses: actions/checkout@v2
- name: Use Node.js 15.x
uses: actions/[email protected]
with:
node-version: '15.x'
- name: Install
run: |
npm ci
- name: Build
run: |
npm run build toastmark
npm run build editor
- name: chart plugin unit, integration test
run: |
npm run test:ci chart
- name: color syntax plugin unit, integration test
run: |
npm run test:ci color
- name: code syntax highlighting plugin unit, integration test
run: |
npm run test:ci code
- name: table merged cell plugin unit, integration test
run: |
npm run test:ci table
- name: uml plugin unit, integration test
run: |
npm run test:ci uml
publish:
runs-on: ubuntu-latest
needs: [pre-check, test, plugin-test]
steps:
- uses: actions/checkout@v2
- name: Check the package version
id: check
uses: PostHog/check-package-version@v2
with:
path: ./apps/editor/
- name: Use Node.js 15.x
uses: actions/[email protected]
with:
node-version: '15.x'
registry-url: https://registry.npmjs.org/
- name: Install
run: |
npm ci
- name: Build
run: |
npm run build toastmark
npm run build editor
- name: Create Tag
run: |
git config --local user.email '[email protected]'
git config --local user.name 'jwlee1108'
git tag editor@${{ steps.check.outputs.committed-version }}
- name: Push Tag
run: |
git push origin editor@${{ steps.check.outputs.committed-version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Npm Publish(editor)
working-directory: ./apps/editor
run: |
npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}