@@ -27,62 +27,71 @@ jobs:
27
27
- " "
28
28
distro :
29
29
- " "
30
- native :
31
- - true
32
-
30
+ vm :
31
+ - false
32
+ cross_compiling :
33
+ - false
33
34
include :
34
35
- os : windows-2019
35
36
node_arch : ia32
36
37
node_target_arch : ia32
37
38
cpp_arch : amd64_x86
38
- native : true
39
+ vm : false
40
+ cross_compiling : true
39
41
40
42
- os : windows-2022
41
43
node_arch : x64
42
44
node_target_arch : arm64
43
45
cpp_arch : amd64_arm64
44
- native : true
46
+ vm : false
47
+ cross_compiling : true
45
48
46
49
- os : macos-13
47
50
node_arch : x64
48
51
node_target_arch : x64
49
52
cpp_arch : x64
50
- native : true
53
+ vm : false
54
+ cross_compiling : false
51
55
52
56
- os : macos-14
53
57
node_arch : arm64
54
58
node_target_arch : arm64
55
59
cpp_arch : arm64
56
- native : true
60
+ vm : false
61
+ cross_compiling : false
57
62
58
63
# Musl Alpine
59
64
- os : ubuntu-24.04
60
65
dockerfile : docker/alpine.dockerfile
61
66
node_arch : x64
62
67
node_target_arch : x64
63
68
cpp_arch : x64
64
- native : false
69
+ vm : true
70
+ cross_compiling : false
65
71
66
72
# Debian Arm
67
73
- os : ubuntu-24.04
68
74
distro : bookworm
69
75
node_arch : arm64
70
76
node_target_arch : arm64
71
77
cpp_arch : arm64
72
- native : false
78
+ vm : true
79
+ cross_compiling : false
73
80
74
81
# Musl Alpine Arm
75
82
- os : ubuntu-24.04
76
83
distro : alpine_latest
77
84
node_arch : arm64
78
85
node_target_arch : arm64
79
86
cpp_arch : arm64
80
- native : false
87
+ vm : true
88
+ cross_compiling : false
81
89
82
90
env :
83
91
npm_config_arch : ${{ matrix.node_arch }}
84
92
npm_config_target_arch : ${{ matrix.node_target_arch }}
85
93
setup_node_arch : ${{ matrix.node_arch }}
94
+ cross_compiling : ${{ matrix.cross_compiling }}
86
95
steps :
87
96
- uses : actions/checkout@v4
88
97
@@ -105,7 +114,7 @@ jobs:
105
114
shell : bash
106
115
107
116
- name : Setup Cpp
108
- if : ${{ matrix.native }}
117
+ if : ${{ ! matrix.vm }}
109
118
uses : aminya/setup-cpp@master
110
119
with :
111
120
vcvarsall : ${{ contains(matrix.os, 'windows') }}
@@ -121,44 +130,38 @@ jobs:
121
130
brew install gnutls autoconf automake libtool
122
131
123
132
- uses : pnpm/action-setup@v4
124
- if : ${{ matrix.native }}
133
+ if : ${{ ! matrix.vm }}
125
134
with :
126
135
version : 9
127
136
128
137
- name : Install Node 20
129
- if : ${{ matrix.native }}
138
+ if : ${{ ! matrix.vm }}
130
139
uses : actions/setup-node@v4
131
140
with :
132
141
node-version : 20
133
142
architecture : ${{ env.setup_node_arch }}
134
143
135
144
- name : Install and Build Native
136
- if : ${{ matrix.native }}
145
+ if : ${{ ! matrix.vm }}
137
146
run : pnpm install
138
147
139
148
- name : Build JavaScript
140
- if : ${{ matrix.native }}
149
+ if : ${{ ! matrix.vm }}
141
150
run : pnpm run build.js
142
151
143
152
- name : Install Node 10
144
- if : ${{ matrix.native && matrix.os != 'macos-14' }}
153
+ if : ${{ ! matrix.vm && matrix.os != 'macos-14' }}
145
154
uses : actions/setup-node@v4
146
155
with :
147
156
node-version : 10
148
157
architecture : ${{ env.setup_node_arch }}
149
158
150
- - name : Build Native
151
- if : ${{ matrix.native && matrix.node_arch != 'ia32' }}
152
- run : npm run build.native
153
-
154
- - name : Build Native Windows 32
155
- if : ${{ matrix.os == 'windows-2019' && matrix.node_arch == 'ia32' }}
156
- run :
157
- node ./node_modules/@aminya/cmake-ts/build/main.js named-configs
158
- windows-x86
159
+ - name : Build Node 10 Native
160
+ if : ${{ !matrix.vm }}
161
+ run : node ./script/install.js
159
162
160
163
- name : Use Node 20
161
- if : ${{ matrix.native }}
164
+ if : ${{ ! matrix.vm }}
162
165
uses : actions/setup-node@v4
163
166
with :
164
167
node-version : 20
@@ -210,11 +213,11 @@ jobs:
210
213
overwrite : true
211
214
212
215
- name : Lint
213
- if : " ${{ contains(matrix.os, 'ubuntu') && matrix.native }}"
216
+ if : " ${{ !matrix.vm && contains(matrix.os, 'ubuntu') }}"
214
217
run : pnpm run lint-test
215
218
216
219
- name : Test
217
- if : ${{ matrix.native }}
220
+ if : ${{ ! matrix.vm }}
218
221
uses : nick-fields/retry@v3
219
222
with :
220
223
timeout_minutes : 5
@@ -225,7 +228,7 @@ jobs:
225
228
rm -rf ./tmp && mkdir -p ./tmp
226
229
227
230
- name : Test Electron Windows/MacOS
228
- if : " ${{ !contains(matrix.os, 'ubuntu') && matrix.native }}"
231
+ if : " ${{ !matrix.vm && ! contains(matrix.os, 'ubuntu') }}"
229
232
uses : nick-fields/retry@v3
230
233
with :
231
234
timeout_minutes : 5
@@ -235,7 +238,7 @@ jobs:
235
238
continue-on-error : true
236
239
237
240
- name : Test Electron Linux
238
- if : " ${{ contains(matrix.os, 'ubuntu') && matrix.native }}"
241
+ if : " ${{ !matrix.vm && contains(matrix.os, 'ubuntu') }}"
239
242
uses : nick-fields/retry@v3
240
243
with :
241
244
timeout_minutes : 5
0 commit comments