1
1
name : release
2
2
3
3
on :
4
+ pull_request :
4
5
push :
5
6
tags :
6
7
- " v*.*.*"
7
8
8
9
jobs :
9
- linux-aarch64 :
10
+ linux :
10
11
runs-on : ubuntu-20.04
12
+ strategy :
13
+ fail-fast : false
14
+ matrix :
15
+ arch : [aarch64, riscv64, x86, x86_64]
11
16
steps :
12
17
- uses : actions/checkout@v4
13
18
- uses : jirutka/setup-alpine@v1
14
19
with :
15
- arch : aarch64
20
+ arch : ${{matrix.arch}}
16
21
packages : " build-base make cmake"
17
22
- name : build
18
23
shell : alpine.sh {0}
@@ -23,102 +28,17 @@ jobs:
23
28
cd ..
24
29
cmake --build build --target qjs_exe -j$(getconf _NPROCESSORS_ONLN)
25
30
cmake --build build --target qjsc -j$(getconf _NPROCESSORS_ONLN)
26
- mv build/qjs build/qjs-linux-aarch64
27
- mv build/qjsc build/qjsc-linux-aarch64
31
+ mv build/qjs build/qjs-linux-${{matrix.arch}}
32
+ mv build/qjsc build/qjsc-linux-${{matrix.arch}}
28
33
- name : check
29
34
shell : alpine.sh {0}
30
35
run : |
31
- file build/*-linux-aarch64
36
+ file build/*-linux-${{matrix.arch}}
32
37
- name : upload
33
38
uses : actions/upload-artifact@v4
34
39
with :
35
- name : qjs-linux-aarch64
36
- path : build/*-linux-aarch64
37
- linux-riscv64 :
38
- runs-on : ubuntu-20.04
39
- steps :
40
- - uses : actions/checkout@v4
41
- - uses : jirutka/setup-alpine@v1
42
- with :
43
- arch : riscv64
44
- packages : " build-base make cmake"
45
- - name : build
46
- shell : alpine.sh {0}
47
- run : |
48
- mkdir build
49
- cd build
50
- cmake -DBUILD_STATIC_QJS_EXE=ON ..
51
- cd ..
52
- cmake --build build --target qjs_exe -j$(getconf _NPROCESSORS_ONLN)
53
- cmake --build build --target qjsc -j$(getconf _NPROCESSORS_ONLN)
54
- mv build/qjs build/qjs-linux-riscv64
55
- mv build/qjsc build/qjsc-linux-riscv64
56
- - name : check
57
- shell : alpine.sh {0}
58
- run : |
59
- file build/*-linux-riscv64
60
- - name : upload
61
- uses : actions/upload-artifact@v4
62
- with :
63
- name : qjs-linux-riscv64
64
- path : build/*-linux-riscv64
65
- linux-x86 :
66
- runs-on : ubuntu-20.04
67
- steps :
68
- - uses : actions/checkout@v4
69
- - uses : jirutka/setup-alpine@v1
70
- with :
71
- arch : x86
72
- packages : " build-base make cmake"
73
- - name : build
74
- shell : alpine.sh {0}
75
- run : |
76
- mkdir build
77
- cd build
78
- cmake -DBUILD_STATIC_QJS_EXE=ON ..
79
- cd ..
80
- cmake --build build --target qjs_exe -j$(getconf _NPROCESSORS_ONLN)
81
- cmake --build build --target qjsc -j$(getconf _NPROCESSORS_ONLN)
82
- mv build/qjs build/qjs-linux-x86
83
- mv build/qjsc build/qjsc-linux-x86
84
- - name : check
85
- shell : alpine.sh {0}
86
- run : |
87
- file build/*-linux-x86
88
- - name : upload
89
- uses : actions/upload-artifact@v4
90
- with :
91
- name : qjs-linux-x86
92
- path : build/*-linux-x86
93
-
94
- linux-x86_64 :
95
- runs-on : ubuntu-20.04
96
- steps :
97
- - uses : actions/checkout@v4
98
- - uses : jirutka/setup-alpine@v1
99
- with :
100
- arch : x86_64
101
- packages : " build-base make cmake"
102
- - name : build
103
- shell : alpine.sh {0}
104
- run : |
105
- mkdir build
106
- cd build
107
- cmake -DBUILD_STATIC_QJS_EXE=ON ..
108
- cd ..
109
- cmake --build build --target qjs_exe -j$(getconf _NPROCESSORS_ONLN)
110
- cmake --build build --target qjsc -j$(getconf _NPROCESSORS_ONLN)
111
- mv build/qjs build/qjs-linux-x86_64
112
- mv build/qjsc build/qjsc-linux-x86_64
113
- - name : check
114
- shell : alpine.sh {0}
115
- run : |
116
- file build/*-linux-x86_64
117
- - name : upload
118
- uses : actions/upload-artifact@v4
119
- with :
120
- name : qjs-linux-x86_64
121
- path : build/*-linux-x86_64
40
+ name : qjs-linux-${{matrix.arch}}
41
+ path : build/*-linux-${{matrix.arch}}
122
42
123
43
macos :
124
44
runs-on : macos-latest
@@ -141,40 +61,12 @@ jobs:
141
61
name : qjs-darwin
142
62
path : build/*-darwin
143
63
144
- windows-x86 :
145
- runs-on : windows-latest
146
- defaults :
147
- run :
148
- shell : msys2 {0}
149
- steps :
150
- - uses : actions/checkout@v4
151
- - name : Setup MSYS2
152
- uses : msys2/setup-msys2@v2
153
- with :
154
- msystem : mingw32
155
- install : >-
156
- git
157
- make
158
- pacboy : >-
159
- cmake:p
160
- ninja:p
161
- toolchain:p
162
- - name : build
163
- run : |
164
- make
165
- mv build/qjs.exe build/qjs-windows-x86.exe
166
- mv build/qjsc.exe build/qjsc-windows-x86.exe
167
- - name : check
168
- run : |
169
- ldd build/qjs-windows-x86.exe build/qjsc-windows-x86.exe
170
- - name : upload
171
- uses : actions/upload-artifact@v4
172
- with :
173
- name : qjs-windows-x86
174
- path : build/*-windows-x86.exe
175
-
176
- windows-x86_64 :
64
+ windows :
177
65
runs-on : windows-latest
66
+ strategy :
67
+ fail-fast : false
68
+ matrix :
69
+ arch : [x86, x86_64]
178
70
defaults :
179
71
run :
180
72
shell : msys2 {0}
183
75
- name : Setup MSYS2
184
76
uses : msys2/setup-msys2@v2
185
77
with :
186
- msystem : mingw64
78
+ msystem : ${{ matrix.arch == 'x86' && 'mingw32' || ' mingw64' }}
187
79
install : >-
188
80
git
189
81
make
@@ -194,16 +86,16 @@ jobs:
194
86
- name : build
195
87
run : |
196
88
make
197
- mv build/qjs.exe build/qjs-windows-x86_64 .exe
198
- mv build/qjsc.exe build/qjsc-windows-x86_64 .exe
89
+ mv build/qjs.exe build/qjs-windows-${{matrix.arch}} .exe
90
+ mv build/qjsc.exe build/qjsc-windows-${{matrix.arch}} .exe
199
91
- name : check
200
92
run : |
201
- ldd build/qjs-windows-x86_64. exe build/qjsc-windows-x86_64 .exe
93
+ ldd build/qjs-windows-${{matrix.arch}}. exe build/qjsc-windows-${{matrix.arch}} .exe
202
94
- name : upload
203
95
uses : actions/upload-artifact@v4
204
96
with :
205
- name : qjs-windows-x86_64
206
- path : build/*-windows-x86_64 .exe
97
+ name : qjs-windows-${{matrix.arch}}
98
+ path : build/*-windows-${{matrix.arch}} .exe
207
99
208
100
wasi :
209
101
runs-on : ubuntu-20.04
@@ -225,7 +117,7 @@ jobs:
225
117
path : build/qjs-wasi.wasm
226
118
227
119
upload-to-release :
228
- needs : [linux-aarch64, linux-riscv64, linux-x86, linux-x86_64, macos, windows-x86, windows-x86_64 , wasi]
120
+ needs : [linux, macos, windows, wasi]
229
121
runs-on : ubuntu-20.04
230
122
steps :
231
123
- name : get assets
@@ -236,6 +128,7 @@ jobs:
236
128
merge-multiple : true
237
129
- run : ls -R build
238
130
- name : release
131
+ if : ${{ startsWith(github.ref, 'refs/tags/v') }}
239
132
uses : softprops/action-gh-release@v1
240
133
with :
241
134
files : |
0 commit comments