-
Notifications
You must be signed in to change notification settings - Fork 0
144 lines (111 loc) · 4.25 KB
/
ci.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
132
133
134
135
136
137
138
139
140
141
142
143
144
name: CI Workflow
on:
push:
branches: [ main ]
pull_request:
jobs:
code-style:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install NodeJS
uses: actions/setup-node@v3
- name: Cache dependencies
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
run: yarn install
- name: Check code style
run: yarn lint
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install NodeJS
uses: actions/setup-node@v3
- name: Cache dependencies
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
run: yarn install
- name: Check code style
run: yarn test
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install NodeJS
uses: actions/setup-node@v3
- name: Cache dependencies
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
run: yarn install
- name: Get initial dist checksum
id: initial-dist-checksum
run: |
if [ -d "dist" ]; then
echo "checksum=$(find dist -type f -exec md5sum {} \; | sort -k 2 | md5sum | cut -d' ' -f1)" >> $GITHUB_OUTPUT
else
echo "checksum=none" >> $GITHUB_OUTPUT
fi
- name: Get initial bin checksum
id: initial-bin-checksum
run: |
if [ -d "bin" ]; then
echo "checksum=$(find bin -type f -exec md5sum {} \; | sort -k 2 | md5sum | cut -d' ' -f1)" >> $GITHUB_OUTPUT
else
echo "checksum=none" >> $GITHUB_OUTPUT
fi
- name: Get initial preview checksum
id: initial-preview-checksum
run: |
if [ -d "preview" ]; then
echo "checksum=$(find preview -type f -exec md5sum {} \; | sort -k 2 | md5sum | cut -d' ' -f1)" >> $GITHUB_OUTPUT
else
echo "checksum=none" >> $GITHUB_OUTPUT
fi
- name: Build
run: yarn build
- name: Verify dist checksum
run: |
NEW_CHECKSUM=$(find dist -type f -exec md5sum {} \; | sort -k 2 | md5sum | cut -d' ' -f1)
INITIAL_CHECKSUM=${{ steps.initial-dist-checksum.outputs.checksum }}
if [ "$INITIAL_CHECKSUM" != "none" ] && [ "$NEW_CHECKSUM" != "$INITIAL_CHECKSUM" ]; then
echo "Error: dist folder content changed after build"
echo "Initial checksum: $INITIAL_CHECKSUM"
echo "New checksum: $NEW_CHECKSUM"
echo "Please run 'yarn build' locally and commit the changes."
exit 1
fi
- name: Verify bin checksum
run: |
NEW_CHECKSUM=$(find bin -type f -exec md5sum {} \; | sort -k 2 | md5sum | cut -d' ' -f1)
INITIAL_CHECKSUM=${{ steps.initial-bin-checksum.outputs.checksum }}
if [ "$INITIAL_CHECKSUM" != "none" ] && [ "$NEW_CHECKSUM" != "$INITIAL_CHECKSUM" ]; then
echo "Error: bin folder content changed after build"
echo "Initial checksum: $INITIAL_CHECKSUM"
echo "New checksum: $NEW_CHECKSUM"
echo "Please run 'yarn build:cli' locally and commit the changes."
exit 1
fi
- name: Verify preview checksum
run: |
NEW_CHECKSUM=$(find preview -type f -exec md5sum {} \; | sort -k 2 | md5sum | cut -d' ' -f1)
INITIAL_CHECKSUM=${{ steps.initial-preview-checksum.outputs.checksum }}
if [ "$INITIAL_CHECKSUM" != "none" ] && [ "$NEW_CHECKSUM" != "$INITIAL_CHECKSUM" ]; then
echo "Error: preview folder content changed after build"
echo "Initial checksum: $INITIAL_CHECKSUM"
echo "New checksum: $NEW_CHECKSUM"
echo "Please run 'yarn build:preview' locally and commit the changes."
exit 1
fi