Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
f87e684
Added note test runner for wasix quickjs
sadhbh-c0d3 Jun 2, 2026
2baecee
Added node test runner wasix quickjs to gh workflow
sadhbh-c0d3 Jun 2, 2026
352c55f
Set wasmer version to 7.2.0-alpha.3 for wasix tests
sadhbh-c0d3 Jun 2, 2026
c63d777
Install wasmer 7.2.0-alpha.3 using curl and shell script. Disable (te…
sadhbh-c0d3 Jun 2, 2026
fbbb21f
Updated sysroot=v2026-05-26.1 wasixcc=v0.4.3
sadhbh-c0d3 Jun 2, 2026
566e59a
Force llvm runtime
sadhbh-c0d3 Jun 3, 2026
38e01f7
Napi/Qjs: SharedArrayBuffer. Ssl certs in wasix tests.
sadhbh-c0d3 Jun 4, 2026
c7072ac
Support spawn fork
sadhbh-c0d3 Jun 4, 2026
00a1d5a
Switching libuv to Artemy's branch
sadhbh-c0d3 Jun 4, 2026
9fa61f1
UV keep alive fix (disable unsupported options)
sadhbh-c0d3 Jun 4, 2026
32a4e43
Updated libuv branch
sadhbh-c0d3 Jun 4, 2026
64faa6c
Respect address family (IPv4 or IPv6) when asked GetAddrInfo
sadhbh-c0d3 Jun 5, 2026
bb7d346
Set outbound ack limit for wasi
sadhbh-c0d3 Jun 5, 2026
9aefbbe
Isolate mapped host directories for wasix node test runner
sadhbh-c0d3 Jun 5, 2026
929a915
c-ares requests are now tracked per channel, cancellation completes s…
sadhbh-c0d3 Jun 5, 2026
61ba960
various fixes
sadhbh-c0d3 Jun 6, 2026
2711832
Fixes around edge process wrap, plus w/a for edge -e eval
sadhbh-c0d3 Jun 6, 2026
f1999f4
Removed hacks: loopback, and spawn
sadhbh-c0d3 Jun 10, 2026
dc9a046
Added /etc/hosts, removed stream type normalization
sadhbh-c0d3 Jun 10, 2026
b9ef182
Fixes for OpenSSL error code mapping
sadhbh-c0d3 Jun 12, 2026
5254f80
OpenSSL update to 3.5
sadhbh-c0d3 Jun 12, 2026
88e41ab
Removed accidental inclusion of libev
sadhbh-c0d3 Jun 12, 2026
d256362
Merge remote-tracking branch 'origin/main' into test-wasix-quickjs-only
sadhbh-c0d3 Jun 12, 2026
24936fe
Plan for WASIX added
sadhbh-c0d3 Jun 12, 2026
2d9beb2
wasix plan update
sadhbh-c0d3 Jun 15, 2026
37a4862
Update napi branch
sadhbh-c0d3 Jun 15, 2026
bc93737
Updated wasix test plan
sadhbh-c0d3 Jun 15, 2026
1b0cd4c
Small update
sadhbh-c0d3 Jun 15, 2026
80ecab0
Updated wasix test plans
sadhbh-c0d3 Jun 15, 2026
499c4fc
Updated wasix test plans
sadhbh-c0d3 Jun 15, 2026
0b03d80
More detailed examples
sadhbh-c0d3 Jun 15, 2026
cea16e5
Updated wasix test plans
sadhbh-c0d3 Jun 15, 2026
5261cf1
Updated index pageg of the wasix test plans
sadhbh-c0d3 Jun 15, 2026
d42ae2e
Update in wasix test plans about reverted commits
sadhbh-c0d3 Jun 15, 2026
158bd4f
Update in wasix test plans about reverted commits corrected by hand
sadhbh-c0d3 Jun 15, 2026
a31a677
Update in wasix test plans about reverted commits corrected again
sadhbh-c0d3 Jun 15, 2026
e3a20c3
Removed not needed code
sadhbh-c0d3 Jun 15, 2026
bfeaf7f
Updated wasix test plan moved child stdio issue
sadhbh-c0d3 Jun 15, 2026
2f20b4e
Reverted accidental changes to lib
sadhbh-c0d3 Jun 15, 2026
c486592
Merge branch 'main' into test-wasix-quickjs-only
sadhbh-c0d3 Jun 15, 2026
6e0ce43
Updated wasix test plans
sadhbh-c0d3 Jun 17, 2026
172b184
Updated sysroot and wasmer.toml
sadhbh-c0d3 Jun 22, 2026
2156029
Use FD 10 for IPC socket to avoid the WASIX preopen FDs
Arshia001 Jun 23, 2026
77bd2e1
Bump libuv-wasix to wasix-1.51.0 with merged posix_spawn PR #7.
Arshia001 Jun 23, 2026
351df74
Remove the upstream node submodule and its build wiring.
Arshia001 Jun 24, 2026
2c67113
Bump napi and skip expected WASIX environment test failures.
Arshia001 Jun 24, 2026
bec238b
use wasmer 7.2-rc.1
marxin Jun 24, 2026
d0196ec
Add shared framework-test harness and Tier 3 route matrix support.
Arshia001 Jun 24, 2026
7c83986
Add Tier 2 standalone build artifact test harness.
Arshia001 Jun 24, 2026
48b3f91
Bump wasmer-examples for Tier 3 routes and Tier 2 standalone canaries.
Arshia001 Jun 24, 2026
b5a00c1
Document Tier 2 standalone and Tier 3 route matrix integration tests.
Arshia001 Jun 24, 2026
ecd579d
Cap QuickJS WASIX CI test parallelism to reduce harness timeouts.
Arshia001 Jun 25, 2026
3870b13
Point deps/openssl-wasix at wasix-org/openssl wasix-3.5.8.
Arshia001 Jun 25, 2026
f94f1ad
Point deps/libuv-wasix at wasix-org/libuv wasix-1.51.0.
Arshia001 Jun 25, 2026
528d5e4
Revert QuickJS WASIX CI TEST_JOBS cap.
Arshia001 Jun 25, 2026
45efac9
Use wasix-libc v2026-06-25.1 and extend WASIX slow-test harness timeo…
Arshia001 Jun 25, 2026
38b69d4
Align Utf8Stream with Node v24 and tighten WASIX test harness.
Arshia001 Jun 25, 2026
a6054d9
Run QuickJS framework and standalone integration tests in CI.
Arshia001 Jun 25, 2026
02549b7
Skip flaky Wasmer-abort HTTP/2 test on WASIX CI.
Arshia001 Jun 25, 2026
d033994
Run WASIX node tests serially in CI instead of skipping flaky HTTP/2 …
Arshia001 Jun 25, 2026
b8923d5
Keep native framework tests out of the quickjs-wasix CI job.
Arshia001 Jun 25, 2026
faa551f
Avoid redundant WASIX rebuilds and stabilize framework pnpm setup.
Arshia001 Jun 26, 2026
35cf568
Move WASIX IPC stdio relocation from JS to native spawn path.
Arshia001 Jun 26, 2026
0ecb8c8
Allow dependency build scripts during framework pnpm installs.
Arshia001 Jun 26, 2026
dd5696f
Skip intermittent Wasmer OOB flake in WASIX HTTP/2 test.
Arshia001 Jun 26, 2026
de754af
Stabilize WASIX framework CI for known Edge runtime gaps.
Arshia001 Jun 26, 2026
e6d3f5d
Skip broken Docusaurus fixtures in WASIX framework CI.
Arshia001 Jun 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 113 additions & 7 deletions .github/workflows/test-and-build-quickjs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
jobs:
metadata:
name: metadata
if: ${{ false }}
runs-on: ubuntu-latest
outputs:
edge_version: ${{ steps.version.outputs.edge_version }}
Expand Down Expand Up @@ -41,6 +42,7 @@ jobs:

quickjs-linux:
name: quickjs-linux
if: ${{ false }}
runs-on: ubuntu-latest
env:
SCCACHE_GHA_ENABLED: "true"
Expand All @@ -60,7 +62,19 @@ jobs:
set -euo pipefail
git submodule sync --recursive
git -c protocol.version=2 submodule update --init --recursive --depth=1
test -f node/src/node_api_types.h

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"

- name: Enable pnpm
shell: bash
run: |
set -euo pipefail
corepack enable
corepack prepare pnpm@latest --activate
pnpm --version

- name: Install Linux build dependencies
shell: bash
Expand Down Expand Up @@ -100,12 +114,25 @@ jobs:
set -euo pipefail
make test-quickjs-only TEST_JOBS=4

- name: Test framework apps (QuickJS native)
shell: bash
run: |
set -euo pipefail
make framework-test-quickjs-native

- name: Test standalone builds (QuickJS native)
shell: bash
run: |
set -euo pipefail
make standalone-build-test-quickjs-native

- name: sccache stats
if: always()
run: sccache --show-stats || true

quickjs-macos:
name: quickjs-macos
if: ${{ false }}
runs-on: macos-latest
env:
SCCACHE_GHA_ENABLED: "true"
Expand All @@ -125,7 +152,19 @@ jobs:
set -euo pipefail
git submodule sync --recursive
git -c protocol.version=2 submodule update --init --recursive --depth=1
test -f node/src/node_api_types.h

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"

- name: Enable pnpm
shell: bash
run: |
set -euo pipefail
corepack enable
corepack prepare pnpm@latest --activate
pnpm --version

- name: Validate public N-API headers stay V8-agnostic
shell: bash
Expand All @@ -140,12 +179,14 @@ jobs:
make build-edge-quickjs-cli CMAKE_BUILD_TYPE=Release JOBS=4

- name: Generate dist
if: ${{ false }}
shell: bash
run: |
set -euo pipefail
make dist-only BUILD_DIR=build-edge-quickjs-cli JOBS=4 ZIP_NAME=edge-quickjs-darwin-arm64.zip

- name: Upload artifact edge
if: ${{ false }}
uses: actions/upload-artifact@v4
with:
name: edge-quickjs-darwin-arm64
Expand All @@ -158,6 +199,18 @@ jobs:
set -euo pipefail
make test-quickjs-only TEST_JOBS=4

- name: Test framework apps (QuickJS native)
shell: bash
run: |
set -euo pipefail
make framework-test-quickjs-native

- name: Test standalone builds (QuickJS native)
shell: bash
run: |
set -euo pipefail
make standalone-build-test-quickjs-native

- name: sccache stats
if: always()
run: sccache --show-stats || true
Expand All @@ -170,20 +223,67 @@ jobs:
with:
submodules: recursive

- name: Ensure submodules are initialized
shell: bash
run: |
set -euo pipefail
git submodule sync --recursive
git -c protocol.version=2 submodule update --init --recursive --depth=1

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"

- name: Enable pnpm
shell: bash
run: |
set -euo pipefail
corepack enable
corepack prepare pnpm@latest --activate
pnpm --version

- name: Install wasixcc
uses: wasix-org/wasixcc@v0.4.2
uses: wasix-org/wasixcc@v0.4.3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
sysroot-tag: v2026-02-16.1
version: v0.4.2
sysroot-tag: v2026-06-25.1
version: v0.4.3

- name: Build edge (QuickJS WASIX)
shell: bash
run: |
set -euo pipefail
make build-quickjs-wasix

- name: Install Wasmer CLI
shell: bash
run: |
set -euo pipefail
curl https://get.wasmer.io -sSfL | sh -s "v7.2.0-rc.1"
echo "${HOME}/.wasmer/bin" >> "${GITHUB_PATH}"
"${HOME}/.wasmer/bin/wasmer" --version

- name: Test edge (QuickJS WASIX)
shell: bash
run: |
set -euo pipefail
make test-wasix-quickjs-only TEST_JOBS=1

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a good idea, we should skip flaky tests or address why they fail, not make them serial

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but as it stands, it appears like GH runners' limited resources are causing random flakiness. We should try later with on a runner with more RAM, which should make the tests stably run in parallel.


- name: Test framework apps (QuickJS WASIX)
shell: bash
run: |
set -euo pipefail
make framework-test-quickjs-wasix

- name: Test standalone builds (QuickJS WASIX)
shell: bash
run: |
set -euo pipefail
make standalone-build-test-quickjs-wasix

- name: Generate dist
if: ${{ false }}
Comment thread
Arshia001 marked this conversation as resolved.
shell: bash
run: |
set -euo pipefail
Expand All @@ -194,6 +294,7 @@ jobs:
(cd dist && zip -r ../edge-quickjs-wasix.zip bin bin-compat README.md wasmer.toml ssl-certs)

- name: Upload artifact edge
if: ${{ false }}
uses: actions/upload-artifact@v4
with:
name: edge-quickjs-wasix
Expand All @@ -202,13 +303,13 @@ jobs:

publish-nightly:
name: publish-nightly
if: ${{ false }}
runs-on: ubuntu-latest
needs:
- metadata
- quickjs-linux
- quickjs-macos
- quickjs-wasix
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
env:
GH_TOKEN: ${{ secrets.RELEASE_PLEASE_GH_TOKEN }}
TARGET_REPO: wasmerio/edgejs-nightlies
Expand Down Expand Up @@ -350,7 +451,12 @@ jobs:
"${files[@]}"

- name: Install Wasmer CLI
uses: wasmerio/setup-wasmer@v3
shell: bash
run: |
set -euo pipefail
curl https://get.wasmer.io -sSfL | sh -s "v7.2.0-rc.1"
echo "${HOME}/.wasmer/bin" >> "${GITHUB_PATH}"
"${HOME}/.wasmer/bin/wasmer" --version

- name: Publish to wasmer.wtf
env:
Expand Down
21 changes: 14 additions & 7 deletions .github/workflows/test-and-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
jobs:
metadata:
name: metadata
if: ${{ false }}
runs-on: ubuntu-latest
outputs:
edge_version: ${{ steps.version.outputs.edge_version }}
Expand Down Expand Up @@ -41,6 +42,7 @@ jobs:

v8-linux:
name: v8-linux
if: ${{ false }}
runs-on: ubuntu-latest
env:
NAPI_V8_BUILD_METHOD: prebuilt
Expand All @@ -61,7 +63,6 @@ jobs:
set -euo pipefail
git submodule sync --recursive
git -c protocol.version=2 submodule update --init --recursive --depth=1
test -f node/src/node_api_types.h

- name: Install Linux build dependencies
shell: bash
Expand Down Expand Up @@ -107,6 +108,7 @@ jobs:

v8-macos:
name: v8-macos
if: ${{ false }}
runs-on: macos-latest
env:
NAPI_V8_BUILD_METHOD: prebuilt
Expand All @@ -127,7 +129,6 @@ jobs:
set -euo pipefail
git submodule sync --recursive
git -c protocol.version=2 submodule update --init --recursive --depth=1
test -f node/src/node_api_types.h

- name: Validate public N-API headers stay V8-agnostic
shell: bash
Expand Down Expand Up @@ -166,6 +167,7 @@ jobs:

v8-wasix:
name: v8-wasix
if: ${{ false }}
runs-on: ubuntu-latest
env:
SCCACHE_GHA_ENABLED: "true"
Expand All @@ -182,11 +184,11 @@ jobs:
uses: dtolnay/rust-toolchain@stable

- name: Install wasixcc
uses: wasix-org/wasixcc@v0.4.2
uses: wasix-org/wasixcc@v0.4.3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
sysroot-tag: v2026-02-16.1
version: v0.4.2
sysroot-tag: v2026-06-25.1
version: v0.4.3

- name: Install wasm-tools
shell: bash
Expand Down Expand Up @@ -219,13 +221,13 @@ jobs:

publish-nightly:
name: publish-nightly
if: ${{ false }}
runs-on: ubuntu-latest
needs:
- metadata
- v8-linux
- v8-macos
- v8-wasix
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
env:
GH_TOKEN: ${{ secrets.RELEASE_PLEASE_GH_TOKEN }}
TARGET_REPO: wasmerio/edgejs-nightlies
Expand Down Expand Up @@ -367,7 +369,12 @@ jobs:
"${files[@]}"

- name: Install Wasmer CLI
uses: wasmerio/setup-wasmer@v3
shell: bash
run: |
set -euo pipefail
curl https://get.wasmer.io -sSfL | sh -s "v7.2.0-alpha.3"
echo "${HOME}/.wasmer/bin" >> "${GITHUB_PATH}"
"${HOME}/.wasmer/bin/wasmer" --version

- name: Publish to wasmer.wtf
env:
Expand Down
14 changes: 9 additions & 5 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
[submodule "node"]
path = node
url = https://github.com/nodejs/node.git
branch = v24.x
[submodule "test"]
path = test
url = https://github.com/wasmerio/node-test.git
url = https://github.com/Arshia001/node-test.git
[submodule "wasmer-examples"]
path = wasmer-examples
url = git@github.com:wasmerio/examples.git
Expand All @@ -15,3 +11,11 @@
[submodule "ssl-certs"]
path = ssl-certs
url = https://github.com/wasix-org/ssl-certs.git
[submodule "deps/libuv-wasix"]
path = deps/libuv-wasix
url = https://github.com/wasix-org/libuv.git
branch = wasix-1.51.0
[submodule "deps/openssl-wasix"]
path = deps/openssl-wasix
url = https://github.com/wasix-org/openssl.git
branch = wasix-3.5.8
Loading
Loading