Skip to content

Commit 9f1ca9a

Browse files
authored
fix: universal ci (#18)
* fix: ci * fix: ci * fix: ci * fix: ci * fix: ci * fix: ci * fix: ci * fix: ci * fix: ci * fix: ci * fix: optimize ci
1 parent 555c734 commit 9f1ca9a

File tree

12 files changed

+121
-12
lines changed

12 files changed

+121
-12
lines changed

.github/workflows/release.yml

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,19 @@ jobs:
2525
matrix:
2626
settings:
2727
- host: macos-latest
28+
name: darwin-x64
2829
target: x86_64-apple-darwin
2930
build: |
3031
cd crates/node_binding
3132
pnpm build
3233
strip -x *.node
3334
- host: windows-latest
3435
build: cd crates/node_binding && pnpm build
36+
name: win32-x64-msvc
3537
target: x86_64-pc-windows-msvc
3638
- host: ubuntu-latest
3739
target: x86_64-unknown-linux-gnu
40+
name: linux-x64-gnu
3841
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian
3942
build: |-
4043
set -e &&
@@ -43,17 +46,20 @@ jobs:
4346
pnpm build --target x86_64-unknown-linux-gnu &&
4447
strip *.node
4548
- host: ubuntu-latest
49+
name: linux-x64-musl
4650
target: x86_64-unknown-linux-musl
4751
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
4852
build: cd crates/node_binding && set -e && pnpm build && strip *.node
4953
- host: macos-latest
54+
name: darwin-arm64
5055
target: aarch64-apple-darwin
5156
build: |
5257
cd crates/node_binding
5358
pnpm build --target aarch64-apple-darwin
5459
strip -x *.node
5560
- host: windows-latest
5661
target: aarch64-pc-windows-msvc
62+
name: win32-arm64-msvc
5763
build: cd crates/node_binding && pnpm build --target aarch64-pc-windows-msvc
5864
name: stable - ${{ matrix.settings.target }} - node@18
5965
runs-on: ${{ matrix.settings.host }}
@@ -102,22 +108,49 @@ jobs:
102108
- name: Upload artifact
103109
uses: actions/upload-artifact@v3
104110
with:
105-
name: bindings-${{ matrix.settings.target }}
111+
name: ${{ env.APP_NAME }}.${{ matrix.settings.name }}.node
112+
path: crates/node_binding/${{ env.APP_NAME }}.*.node
113+
if-no-files-found: error
114+
universal-macOS:
115+
name: Build universal macOS binary
116+
needs:
117+
- build
118+
runs-on: macos-latest
119+
steps:
120+
- uses: actions/checkout@v4
121+
- name: Pnpm Cache # Required by some tests
122+
uses: ./.github/actions/pnpm-cache
123+
- name: Download macOS x64 artifact
124+
uses: actions/download-artifact@v3
125+
with:
126+
name: ${{ env.APP_NAME }}.darwin-x64.node
127+
path: crates/node_binding/artifacts
128+
- name: Download macOS arm64 artifact
129+
uses: actions/download-artifact@v3
130+
with:
131+
name: ${{ env.APP_NAME }}.darwin-arm64.node
132+
path: crates/node_binding/artifacts
133+
- name: Combine binaries
134+
run: cd crates/node_binding && pnpm universal
135+
- name: Upload artifact
136+
uses: actions/upload-artifact@v3
137+
with:
138+
name: ${{ env.APP_NAME }}.darwin-universal.node
106139
path: crates/node_binding/${{ env.APP_NAME }}.*.node
107140
if-no-files-found: error
108141
publish:
109142
name: Publish
110143
runs-on: ubuntu-latest
111144
needs:
112-
- build
145+
- universal-macOS
113146
steps:
114147
- uses: actions/checkout@v4
115148
- name: Pnpm Cache # Required by some tests
116149
uses: ./.github/actions/pnpm-cache
117150
- name: Download all artifacts
118151
uses: actions/download-artifact@v3
119152
with:
120-
path: crates/node_binding
153+
path: crates/node_binding/artifacts
121154
- name: Move artifacts
122155
run: cd crates/node_binding && pnpm artifacts
123156
- name: List packages

crates/node_binding/npm/darwin-arm64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ice/pack-binding-darwin-arm64",
3-
"version": "0.0.0",
3+
"version": "0.0.1",
44
"os": [
55
"darwin"
66
],
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# `@ice/pack-binding-darwin-universal`
2+
3+
This is the **universal-apple-darwin** binary for `@ice/pack-binding`
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"name": "@ice/pack-binding-darwin-universal",
3+
"version": "0.0.1",
4+
"os": [
5+
"darwin"
6+
],
7+
"main": "pack-binding.darwin-universal.node",
8+
"files": [
9+
"pack-binding.darwin-universal.node"
10+
],
11+
"license": "MIT",
12+
"engines": {
13+
"node": ">= 10"
14+
},
15+
"repository": {
16+
"url": "https://github.com/ice-lab/awesome-ice"
17+
}
18+
}

crates/node_binding/npm/darwin-x64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ice/pack-binding-darwin-x64",
3-
"version": "0.0.0",
3+
"version": "0.0.1",
44
"os": [
55
"darwin"
66
],

crates/node_binding/npm/linux-x64-gnu/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ice/pack-binding-linux-x64-gnu",
3-
"version": "0.0.0",
3+
"version": "0.0.1",
44
"os": [
55
"linux"
66
],
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# `@ice/pack-binding-linux-x64-musl`
2+
3+
This is the **x86_64-unknown-linux-musl** binary for `@ice/pack-binding`
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"name": "@ice/pack-binding-linux-x64-musl",
3+
"version": "0.0.1",
4+
"os": [
5+
"linux"
6+
],
7+
"cpu": [
8+
"x64"
9+
],
10+
"main": "pack-binding.linux-x64-musl.node",
11+
"files": [
12+
"pack-binding.linux-x64-musl.node"
13+
],
14+
"license": "MIT",
15+
"engines": {
16+
"node": ">= 10"
17+
},
18+
"libc": [
19+
"musl"
20+
],
21+
"repository": {
22+
"url": "https://github.com/ice-lab/awesome-ice"
23+
}
24+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# `@ice/pack-binding-win32-arm64-msvc`
2+
3+
This is the **aarch64-pc-windows-msvc** binary for `@ice/pack-binding`
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"name": "@ice/pack-binding-win32-arm64-msvc",
3+
"version": "0.0.1",
4+
"os": [
5+
"win32"
6+
],
7+
"cpu": [
8+
"arm64"
9+
],
10+
"main": "pack-binding.win32-arm64-msvc.node",
11+
"files": [
12+
"pack-binding.win32-arm64-msvc.node"
13+
],
14+
"license": "MIT",
15+
"engines": {
16+
"node": ">= 10"
17+
},
18+
"repository": {
19+
"url": "https://github.com/ice-lab/awesome-ice"
20+
}
21+
}

0 commit comments

Comments
 (0)