Skip to content

Commit bda14ec

Browse files
committed
Simplify release CI
In addition, run the release CI, except the upload step on each PR, to make sure things don't break and we find about them right when doing a release.
1 parent f7f70fc commit bda14ec

File tree

1 file changed

+25
-132
lines changed

1 file changed

+25
-132
lines changed

.github/workflows/release.yml

Lines changed: 25 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
name: release
22

33
on:
4+
pull_request:
45
push:
56
tags:
67
- "v*.*.*"
78

89
jobs:
9-
linux-aarch64:
10+
linux:
1011
runs-on: ubuntu-20.04
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
arch: [aarch64, riscv64, x86, x86_64]
1116
steps:
1217
- uses: actions/checkout@v4
1318
- uses: jirutka/setup-alpine@v1
1419
with:
15-
arch: aarch64
20+
arch: ${{matrix.arch}}
1621
packages: "build-base make cmake"
1722
- name: build
1823
shell: alpine.sh {0}
@@ -23,102 +28,17 @@ jobs:
2328
cd ..
2429
cmake --build build --target qjs_exe -j$(getconf _NPROCESSORS_ONLN)
2530
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}}
2833
- name: check
2934
shell: alpine.sh {0}
3035
run: |
31-
file build/*-linux-aarch64
36+
file build/*-linux-${{matrix.arch}}
3237
- name: upload
3338
uses: actions/upload-artifact@v4
3439
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}}
12242

12343
macos:
12444
runs-on: macos-latest
@@ -141,40 +61,12 @@ jobs:
14161
name: qjs-darwin
14262
path: build/*-darwin
14363

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:
17765
runs-on: windows-latest
66+
strategy:
67+
fail-fast: false
68+
matrix:
69+
arch: [x86, x86_64]
17870
defaults:
17971
run:
18072
shell: msys2 {0}
@@ -183,7 +75,7 @@ jobs:
18375
- name: Setup MSYS2
18476
uses: msys2/setup-msys2@v2
18577
with:
186-
msystem: mingw64
78+
msystem: ${{ matrix.arch == 'x86' && 'mingw32' || 'mingw64' }}
18779
install: >-
18880
git
18981
make
@@ -194,16 +86,16 @@ jobs:
19486
- name: build
19587
run: |
19688
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
19991
- name: check
20092
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
20294
- name: upload
20395
uses: actions/upload-artifact@v4
20496
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
20799

208100
wasi:
209101
runs-on: ubuntu-20.04
@@ -225,7 +117,7 @@ jobs:
225117
path: build/qjs-wasi.wasm
226118

227119
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]
229121
runs-on: ubuntu-20.04
230122
steps:
231123
- name: get assets
@@ -236,6 +128,7 @@ jobs:
236128
merge-multiple: true
237129
- run: ls -R build
238130
- name: release
131+
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
239132
uses: softprops/action-gh-release@v1
240133
with:
241134
files: |

0 commit comments

Comments
 (0)