@@ -3,7 +3,7 @@ name: test & maybe release
3
3
on :
4
4
push :
5
5
branches :
6
- - master
6
+ - main
7
7
pull_request :
8
8
workflow_dispatch :
9
9
@@ -16,10 +16,189 @@ concurrency:
16
16
cancel-in-progress : true
17
17
18
18
jobs :
19
- js-test-and-release :
20
- uses : pl-strflt/uci/.github/workflows/js-test-and-release.yml@v0.0
21
- secrets :
22
- DOCKER_TOKEN : ${{ secrets.DOCKER_TOKEN }}
23
- DOCKER_USERNAME : ${{ secrets.DOCKER_USERNAME }}
24
- NPM_TOKEN : ${{ secrets.NPM_TOKEN }}
25
- UCI_GITHUB_TOKEN : ${{ secrets.UCI_GITHUB_TOKEN }}
19
+ check :
20
+ runs-on : ubuntu-latest
21
+ steps :
22
+ - uses : actions/checkout@v3
23
+ - uses : actions/setup-node@v3
24
+ with :
25
+ node-version : lts/*
26
+ - uses : ipfs/aegir/actions/cache-node-modules@master
27
+ - run : npm run --if-present lint
28
+ - run : npm run --if-present dep-check
29
+ - run : npm run --if-present doc-check
30
+
31
+ test-node :
32
+ needs : check
33
+ runs-on : ${{ matrix.os }}
34
+ strategy :
35
+ matrix :
36
+ os : [windows-latest, ubuntu-latest, macos-latest]
37
+ node : [lts/*]
38
+ fail-fast : true
39
+ steps :
40
+ - uses : actions/checkout@v3
41
+ - uses : actions/setup-node@v3
42
+ with :
43
+ node-version : ${{ matrix.node }}
44
+ - uses : ipfs/aegir/actions/cache-node-modules@master
45
+ - run : npm run --if-present test:node
46
+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
47
+ with :
48
+ flags : node
49
+ files : .coverage/*,packages/*/.coverage/*
50
+
51
+ test-chrome :
52
+ needs : check
53
+ runs-on : ubuntu-latest
54
+ steps :
55
+ - uses : actions/checkout@v3
56
+ - uses : actions/setup-node@v3
57
+ with :
58
+ node-version : lts/*
59
+ - uses : ipfs/aegir/actions/cache-node-modules@master
60
+ - run : npm run --if-present test:chrome
61
+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
62
+ with :
63
+ flags : chrome
64
+ files : .coverage/*,packages/*/.coverage/*
65
+
66
+ test-chrome-webworker :
67
+ needs : check
68
+ runs-on : ubuntu-latest
69
+ steps :
70
+ - uses : actions/checkout@v3
71
+ - uses : actions/setup-node@v3
72
+ with :
73
+ node-version : lts/*
74
+ - uses : ipfs/aegir/actions/cache-node-modules@master
75
+ - run : npm run --if-present test:chrome-webworker
76
+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
77
+ with :
78
+ flags : chrome-webworker
79
+ files : .coverage/*,packages/*/.coverage/*
80
+
81
+ test-firefox :
82
+ needs : check
83
+ runs-on : ubuntu-latest
84
+ steps :
85
+ - uses : actions/checkout@v3
86
+ - uses : actions/setup-node@v3
87
+ with :
88
+ node-version : lts/*
89
+ - uses : ipfs/aegir/actions/cache-node-modules@master
90
+ - run : npm run --if-present test:firefox
91
+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
92
+ with :
93
+ flags : firefox
94
+ files : .coverage/*,packages/*/.coverage/*
95
+
96
+ test-firefox-webworker :
97
+ needs : check
98
+ runs-on : ubuntu-latest
99
+ steps :
100
+ - uses : actions/checkout@v3
101
+ - uses : actions/setup-node@v3
102
+ with :
103
+ node-version : lts/*
104
+ - uses : ipfs/aegir/actions/cache-node-modules@master
105
+ - run : npm run --if-present test:firefox-webworker
106
+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
107
+ with :
108
+ flags : firefox-webworker
109
+ files : .coverage/*,packages/*/.coverage/*
110
+
111
+ test-webkit :
112
+ needs : check
113
+ runs-on : ${{ matrix.os }}
114
+ strategy :
115
+ matrix :
116
+ os : [ubuntu-latest, macos-latest]
117
+ node : [lts/*]
118
+ fail-fast : true
119
+ steps :
120
+ - uses : actions/checkout@v3
121
+ - uses : actions/setup-node@v3
122
+ with :
123
+ node-version : lts/*
124
+ - uses : ipfs/aegir/actions/cache-node-modules@master
125
+ - run : npm run --if-present test:webkit
126
+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
127
+ with :
128
+ flags : webkit
129
+ files : .coverage/*,packages/*/.coverage/*
130
+
131
+ test-webkit-webworker :
132
+ needs : check
133
+ runs-on : ${{ matrix.os }}
134
+ strategy :
135
+ matrix :
136
+ os : [ubuntu-latest, macos-latest]
137
+ node : [lts/*]
138
+ fail-fast : true
139
+ steps :
140
+ - uses : actions/checkout@v3
141
+ - uses : actions/setup-node@v3
142
+ with :
143
+ node-version : lts/*
144
+ - uses : ipfs/aegir/actions/cache-node-modules@master
145
+ - run : npm run --if-present test:webkit-webworker
146
+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
147
+ with :
148
+ flags : webkit-webworker
149
+ files : .coverage/*,packages/*/.coverage/*
150
+
151
+ test-electron-main :
152
+ needs : check
153
+ runs-on : ubuntu-latest
154
+ steps :
155
+ - uses : actions/checkout@v3
156
+ - uses : actions/setup-node@v3
157
+ with :
158
+ node-version : lts/*
159
+ - uses : ipfs/aegir/actions/cache-node-modules@master
160
+ - run : npx xvfb-maybe npm run --if-present test:electron-main
161
+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
162
+ with :
163
+ flags : electron-main
164
+ files : .coverage/*,packages/*/.coverage/*
165
+
166
+ test-electron-renderer :
167
+ needs : check
168
+ runs-on : ubuntu-latest
169
+ steps :
170
+ - uses : actions/checkout@v3
171
+ - uses : actions/setup-node@v3
172
+ with :
173
+ node-version : lts/*
174
+ - uses : ipfs/aegir/actions/cache-node-modules@master
175
+ - run : npx xvfb-maybe npm run --if-present test:electron-renderer
176
+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
177
+ with :
178
+ flags : electron-renderer
179
+ files : .coverage/*,packages/*/.coverage/*
180
+
181
+ release :
182
+ needs : [test-node, test-chrome, test-chrome-webworker, test-firefox, test-firefox-webworker, test-webkit, test-webkit-webworker, test-electron-main, test-electron-renderer]
183
+ runs-on : ubuntu-latest
184
+ if : github.event_name == 'push' && github.ref == 'refs/heads/main'
185
+ permissions :
186
+ id-token : write
187
+ contents : write
188
+ pull-requests : write
189
+ steps :
190
+ - uses : actions/checkout@v3
191
+ with :
192
+ fetch-depth : 0
193
+ - uses : actions/setup-node@v3
194
+ with :
195
+ node-version : lts/*
196
+ - uses : ipfs/aegir/actions/cache-node-modules@master
197
+ - uses : ipfs/aegir/actions/docker-login@master
198
+ with :
199
+ docker-token : ${{ secrets.DOCKER_TOKEN }}
200
+ docker-username : ${{ secrets.DOCKER_USERNAME }}
201
+ - run : npm run --if-present release
202
+ env :
203
+ GITHUB_TOKEN : ${{ secrets.UCI_GITHUB_TOKEN || github.token }}
204
+ NPM_TOKEN : ${{ secrets.NPM_TOKEN }}
0 commit comments