Skip to content

Commit 7670e7c

Browse files
committed
Merge branch 'main' into feat-wasi-threads
2 parents 1abb463 + 6643963 commit 7670e7c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1873
-1746
lines changed

.github/workflows/main.yml

Lines changed: 65 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name: Build
33
on:
44
push:
55
paths:
6+
- .github/workflows/**
67
- '**.ts'
78
- '**.js'
89
- '**.c'
@@ -22,7 +23,12 @@ jobs:
2223
strategy:
2324
fail-fast: false
2425
matrix:
25-
target: ['emscripten', 'wasi', 'wasi-threads']
26+
target:
27+
- 'wasm32-unknown-emscripten'
28+
- 'wasm64-unknown-emscripten'
29+
- 'wasm32-unknown-unknown'
30+
- 'wasm32-wasi'
31+
- 'wasm32-wasi-threads'
2632

2733
steps:
2834
- uses: actions/checkout@v3
@@ -31,26 +37,20 @@ jobs:
3137
sudo apt-get update
3238
sudo apt-get install ninja-build
3339
- uses: mymindstorm/setup-emsdk@v11
34-
if: ${{ matrix.target == 'emscripten' }}
40+
if: ${{ contains(matrix.target, 'emscripten') }}
3541
with:
36-
version: '3.1.29'
42+
version: '3.1.32'
3743
# no-cache: true
3844
actions-cache-folder: 'emsdk-cache'
3945
- uses: actions-rs/toolchain@v1
40-
if: ${{ matrix.target == 'wasi' }}
46+
if: ${{ matrix.target == 'wasm32-unknown-unknown' || matrix.target == 'wasm32-wasi' }}
4147
with:
4248
toolchain: nightly
4349
default: true
44-
target: wasm32-unknown-unknown
45-
- uses: actions-rs/toolchain@v1
46-
if: ${{ matrix.target == 'wasi' }}
47-
with:
48-
toolchain: nightly
49-
default: true
50-
target: wasm32-wasi
50+
target: ${{ matrix.target }}
5151

5252
- name: Install wasi-sdk
53-
if: ${{ matrix.target == 'wasi' }}
53+
if: ${{ matrix.target == 'wasm32-unknown-unknown' || matrix.target == 'wasm32-wasi' }}
5454
env:
5555
WASI_VERSION: '19'
5656
WASI_VERSION_FULL: '19.0'
@@ -62,7 +62,7 @@ jobs:
6262
tar zxvf wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz -C $WASI_SDK_PATH --strip 1
6363
6464
- name: Install wasi-sdk with threads
65-
if: ${{ matrix.target == 'wasi-threads' }}
65+
if: ${{ matrix.target == 'wasm32-wasi-threads' }}
6666
env:
6767
WASI_VERSION: '20+threads'
6868
WASI_VERSION_FULL: '20.0.threads'
@@ -75,11 +75,11 @@ jobs:
7575
7676
- uses: actions/setup-node@v3
7777
with:
78-
node-version: '18.12.1'
78+
node-version: ${{ (contains(matrix.target, 'emscripten') && '20.0.0-v8-canary202302081604228b65') || '18.12.1' }}
7979
registry-url: 'https://registry.npmjs.org'
8080
env:
8181
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
82-
82+
8383
- name: NPM Install
8484
shell: bash
8585
run: |
@@ -92,9 +92,9 @@ jobs:
9292

9393
# - name: Lint
9494
# run: npm run lint
95-
95+
9696
- name: Test wasm32-wasi-threads
97-
if: ${{ matrix.target == 'wasi-threads' }}
97+
if: ${{ matrix.target == 'wasm32-wasi-threads' }}
9898
env:
9999
WASI_VERSION: '20+threads'
100100
WASI_VERSION_FULL: '20.0.threads'
@@ -107,21 +107,21 @@ jobs:
107107
npm run test:wt -w packages/test
108108
109109
- name: Test wasm32-unknown-emscripten
110-
if: ${{ matrix.target == 'emscripten' }}
110+
if: ${{ matrix.target == 'wasm32-unknown-emscripten' }}
111111
run: |
112112
npm run rebuild -w packages/test
113113
npm run test -w packages/test
114114
115115
- name: Test wasm64-unknown-emscripten
116-
if: ${{ matrix.target == 'emscripten' }}
116+
if: ${{ matrix.target == 'wasm64-unknown-emscripten' }}
117117
env:
118118
MEMORY64: '1'
119119
run: |
120120
npm run rebuild -w packages/test
121121
npm run test -w packages/test
122122
123123
- name: Test wasm32-wasi
124-
if: ${{ matrix.target == 'wasi' }}
124+
if: ${{ matrix.target == 'wasm32-wasi' }}
125125
env:
126126
WASI_VERSION: '19'
127127
WASI_VERSION_FULL: '19.0'
@@ -132,7 +132,7 @@ jobs:
132132
npm run test:w -w packages/test
133133
134134
- name: Test wasm32-unknown-unknown
135-
if: ${{ matrix.target == 'wasi' }}
135+
if: ${{ matrix.target == 'wasm32-unknown-unknown' }}
136136
env:
137137
WASI_VERSION: '19'
138138
WASI_VERSION_FULL: '19.0'
@@ -187,6 +187,50 @@ jobs:
187187
shell: bash
188188
run: npm run build --workspaces --if-present
189189

190+
release:
191+
name: Release
192+
if: ${{ startsWith(github.event.ref, 'refs/tags') }}
193+
needs: build
194+
runs-on: ubuntu-latest
195+
env:
196+
WASI_VERSION: '19'
197+
WASI_VERSION_FULL: '19.0'
198+
WASI_SDK_PATH: './wasi-sdk-19.0'
199+
200+
steps:
201+
- uses: actions/checkout@v3
202+
- name: Install Ninja
203+
run: |
204+
sudo apt-get update
205+
sudo apt-get install ninja-build
206+
- uses: mymindstorm/setup-emsdk@v11
207+
with:
208+
version: '3.1.32'
209+
# no-cache: true
210+
actions-cache-folder: 'emsdk-cache'
211+
- name: Install wasi-sdk
212+
shell: bash
213+
run: |
214+
wget -q https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz
215+
mkdir -p $WASI_SDK_PATH
216+
tar zxvf wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz -C $WASI_SDK_PATH --strip 1
217+
- uses: actions/setup-node@v3
218+
with:
219+
node-version: '18.12.1'
220+
registry-url: 'https://registry.npmjs.org'
221+
env:
222+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
223+
224+
- name: NPM Install
225+
shell: bash
226+
run: |
227+
npm install -g node-gyp
228+
npm install
229+
230+
- name: NPM Build
231+
shell: bash
232+
run: npm run build --workspaces --if-present
233+
190234
- name: Publish
191235
run: |
192236
node ./script/release.js

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
node_modules
77
!example/node_modules
88
/include/node_api_full.h
9-
/dist
109
package-lock.json
1110
/example/build
1211
out

example/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

example/CMakeLists.txt

Lines changed: 0 additions & 30 deletions
This file was deleted.

example/README.md

Lines changed: 0 additions & 37 deletions
This file was deleted.

example/async.c

Lines changed: 0 additions & 107 deletions
This file was deleted.

example/async.html

Lines changed: 0 additions & 3 deletions
This file was deleted.

example/async.js

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)