From 1f1c4ac7ed9be437e8a69fd9921407bd63dd3c18 Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Thu, 10 Oct 2024 16:04:43 +0200 Subject: [PATCH 01/11] Emscripten SIDE_MODULE config and scripts. --- Cargo.toml | 7 +++---- crates/loadable/src/lib.rs | 17 ----------------- tool/build_wasm.sh | 25 +++++++++++++++++++++++++ wasm/asyncify_imports.json | 14 ++++++++++++++ 4 files changed, 42 insertions(+), 21 deletions(-) create mode 100755 tool/build_wasm.sh create mode 100644 wasm/asyncify_imports.json diff --git a/Cargo.toml b/Cargo.toml index c51e860..0997757 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,10 +19,9 @@ lto = true [profile.wasm] inherits = "release" -# Enabling LTO in WASM build gives: -# warning: Linking globals named '__rust_alloc_error_handler': symbol multiply defined! -# error: failed to load bitcode of module "sgnxivc9sns8d6t": -lto = false + +[profile.wasm_asyncify] +inherits = "wasm" [workspace.package] version = "0.3.0" diff --git a/crates/loadable/src/lib.rs b/crates/loadable/src/lib.rs index 3c64054..44ca560 100644 --- a/crates/loadable/src/lib.rs +++ b/crates/loadable/src/lib.rs @@ -31,16 +31,6 @@ fn panic(_info: &core::panic::PanicInfo) -> ! { #[lang = "eh_personality"] extern "C" fn eh_personality() {} -#[cfg(target_family = "wasm")] -#[no_mangle] -pub fn __rust_alloc_error_handler(_: core::alloc::Layout) -> ! { - core::intrinsics::abort() -} - -#[cfg(target_family = "wasm")] -#[no_mangle] -static __rust_alloc_error_handler_should_panic: u8 = 0; - #[cfg(target_family = "wasm")] #[no_mangle] static _CLOCK_PROCESS_CPUTIME_ID: i32 = 1; @@ -48,10 +38,3 @@ static _CLOCK_PROCESS_CPUTIME_ID: i32 = 1; #[cfg(target_family = "wasm")] #[no_mangle] static _CLOCK_THREAD_CPUTIME_ID: i32 = 1; - -// Not used, but must be defined in some cases. Most notably when using native sqlite3 and loading -// the extension. -// #[allow(non_upper_case_globals)] -// #[no_mangle] -// pub static mut _Unwind_Resume: *mut core::ffi::c_void = core::ptr::null_mut(); - diff --git a/tool/build_wasm.sh b/tool/build_wasm.sh new file mode 100755 index 0000000..fe69e00 --- /dev/null +++ b/tool/build_wasm.sh @@ -0,0 +1,25 @@ +#!/bin/bash +set -e + +# Normal build +# target/wasm32-unknown-emscripten/wasm/powersync.wasm +RUSTFLAGS="-C link-arg=-sSIDE_MODULE=2" \ + cargo build \ + -p powersync_loadable \ + --profile wasm \ + --no-default-features \ + --features "powersync_core/static powersync_core/omit_load_extension sqlite_nostd/omit_load_extension" \ + -Z build-std=panic_abort,core,alloc \ + --target wasm32-unknown-emscripten + + +# Asyncify +# target/wasm32-unknown-emscripten/wasm_asyncify/powersync.wasm +RUSTFLAGS="-C link-arg=-sSIDE_MODULE=2 -C link-arg=-sASYNCIFY=1 -C link-arg=-sJSPI_IMPORTS=@wasm/asyncify_imports.json" \ + cargo build \ + -p powersync_loadable \ + --profile wasm_asyncify \ + --no-default-features \ + --features "powersync_core/static powersync_core/omit_load_extension sqlite_nostd/omit_load_extension" \ + -Z build-std=panic_abort,core,alloc \ + --target wasm32-unknown-emscripten diff --git a/wasm/asyncify_imports.json b/wasm/asyncify_imports.json new file mode 100644 index 0000000..ccfdb13 --- /dev/null +++ b/wasm/asyncify_imports.json @@ -0,0 +1,14 @@ +[ + "sqlite3_close", + "sqlite3_finalize", + "sqlite3_open_v2", + "sqlite3_prepare", + "sqlite3_prepare16", + "sqlite3_prepare_v2", + "sqlite3_prepare16_v2", + "sqlite3_prepare_v3", + "sqlite3_prepare16_v3", + "sqlite3_reset", + "sqlite3_step", + "sqlite3_exec" +] From 8b4ce4616f805f092728e15bb234bdf1d34a8993 Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Thu, 10 Oct 2024 16:11:37 +0200 Subject: [PATCH 02/11] More cleanup. --- crates/loadable/src/lib.rs | 8 -------- 1 file changed, 8 deletions(-) diff --git a/crates/loadable/src/lib.rs b/crates/loadable/src/lib.rs index 44ca560..c6ca649 100644 --- a/crates/loadable/src/lib.rs +++ b/crates/loadable/src/lib.rs @@ -30,11 +30,3 @@ fn panic(_info: &core::panic::PanicInfo) -> ! { #[cfg(not(test))] #[lang = "eh_personality"] extern "C" fn eh_personality() {} - -#[cfg(target_family = "wasm")] -#[no_mangle] -static _CLOCK_PROCESS_CPUTIME_ID: i32 = 1; - -#[cfg(target_family = "wasm")] -#[no_mangle] -static _CLOCK_THREAD_CPUTIME_ID: i32 = 1; From 372d046635e81942a768e5b51929fe85bf13b619 Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Thu, 10 Oct 2024 16:13:24 +0200 Subject: [PATCH 03/11] Build side modules on GitHub Actions. --- .github/workflows/wasm.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index 04c0499..d2b1b11 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -16,5 +16,13 @@ jobs: toolchain: nightly-2024-05-18 components: rust-src + - name: Setup emsdk + uses: mymindstorm/setup-emsdk@v14 + with: + version: 3.1.68 + - name: Build WASM bytecode run: RUSTFLAGS="--emit=llvm-bc -C linker=/bin/true" cargo build -p powersync_loadable --profile wasm --no-default-features --features "powersync_core/static powersync_core/omit_load_extension sqlite_nostd/static sqlite_nostd/omit_load_extension" -Z build-std=panic_abort,core,alloc --target wasm32-unknown-emscripten + + - name: Build WASM SIDE_MODULE + run: ./tool/build_wasm.sh From 2fa276d7a9a09a2d7a06956e28ab4320839d7b59 Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Mon, 14 Oct 2024 11:43:58 +0200 Subject: [PATCH 04/11] Add staticlib crate. --- Cargo.lock | 8 ++++++++ crates/static/Cargo.toml | 24 ++++++++++++++++++++++++ crates/static/README.md | 3 +++ crates/static/src/lib.rs | 32 ++++++++++++++++++++++++++++++++ tool/build_wasm.sh | 8 ++++++++ 5 files changed, 75 insertions(+) create mode 100644 crates/static/Cargo.toml create mode 100644 crates/static/README.md create mode 100644 crates/static/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 456bb7e..8a3817c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -233,6 +233,14 @@ dependencies = [ "sqlite_nostd", ] +[[package]] +name = "powersync_static" +version = "0.3.0" +dependencies = [ + "powersync_core", + "sqlite_nostd", +] + [[package]] name = "proc-macro2" version = "1.0.66" diff --git a/crates/static/Cargo.toml b/crates/static/Cargo.toml new file mode 100644 index 0000000..cc7e0f3 --- /dev/null +++ b/crates/static/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "powersync_static" +edition.workspace = true +version.workspace = true +homepage.workspace = true +repository.workspace = true +license.workspace = true +authors.workspace = true +keywords.workspace = true + +[lib] +name = "powersync" +crate-type = ["staticlib"] + +[dependencies] +sqlite_nostd = { workspace=true } + +[dependencies.powersync_core] +path = "../core" +default-features = false +features = [] + +[features] +default = ["powersync_core/static", "powersync_core/omit_load_extension", "sqlite_nostd/omit_load_extension"] diff --git a/crates/static/README.md b/crates/static/README.md new file mode 100644 index 0000000..05af5c6 --- /dev/null +++ b/crates/static/README.md @@ -0,0 +1,3 @@ +# powersync_loadable + +Builds the loadable extension as a static library, for environments where dynamic loading is not practical. diff --git a/crates/static/src/lib.rs b/crates/static/src/lib.rs new file mode 100644 index 0000000..c6ca649 --- /dev/null +++ b/crates/static/src/lib.rs @@ -0,0 +1,32 @@ +#![no_std] +#![feature(vec_into_raw_parts)] +#![feature(core_intrinsics)] +#![allow(internal_features)] +#![feature(lang_items)] +#![feature(error_in_core)] + +extern crate alloc; + +// Defines sqlite3_powersync_init +#[allow(unused_imports)] +use powersync_core; + +// Use the SQLite allocator, allowing us to freely transfer memory between SQLite and Rust. +#[cfg(not(test))] +use sqlite_nostd::SQLite3Allocator; + +#[cfg(not(test))] +#[global_allocator] +static ALLOCATOR: SQLite3Allocator = SQLite3Allocator {}; + +// Custom Panic handler for WASM and other no_std builds +#[cfg(not(test))] +#[panic_handler] +fn panic(_info: &core::panic::PanicInfo) -> ! { + core::intrinsics::abort() +} + +#[cfg(not(target_family = "wasm"))] +#[cfg(not(test))] +#[lang = "eh_personality"] +extern "C" fn eh_personality() {} diff --git a/tool/build_wasm.sh b/tool/build_wasm.sh index fe69e00..3d5be80 100755 --- a/tool/build_wasm.sh +++ b/tool/build_wasm.sh @@ -23,3 +23,11 @@ RUSTFLAGS="-C link-arg=-sSIDE_MODULE=2 -C link-arg=-sASYNCIFY=1 -C link-arg=-sJS --features "powersync_core/static powersync_core/omit_load_extension sqlite_nostd/omit_load_extension" \ -Z build-std=panic_abort,core,alloc \ --target wasm32-unknown-emscripten + +# Static lib (works for both sync and asyncify builds) +# target/wasm32-unknown-emscripten/wasm/libpowersync.a +cargo build \ + -p powersync_static \ + --profile wasm \ + -Z build-std=panic_abort,core,alloc \ + --target wasm32-unknown-emscripten From b0c82ba484ccecdb45771d83d1c83f7bd77e393b Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Mon, 14 Oct 2024 11:44:08 +0200 Subject: [PATCH 05/11] Fix debug function name. --- crates/core/src/kv.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/core/src/kv.rs b/crates/core/src/kv.rs index 040b65d..70b5bd8 100644 --- a/crates/core/src/kv.rs +++ b/crates/core/src/kv.rs @@ -36,7 +36,7 @@ fn powersync_client_id_impl( create_sqlite_text_fn!( powersync_client_id, powersync_client_id_impl, - "powersync_last_synced_at" + "powersync_client_id" ); fn powersync_last_synced_at_impl( From 4ed0e19d2a8cc78ea8d7a698729e1f01d5ecc546 Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Mon, 14 Oct 2024 12:04:06 +0200 Subject: [PATCH 06/11] Use wasm32-wasi for static lib. --- tool/build_wasm.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tool/build_wasm.sh b/tool/build_wasm.sh index 3d5be80..4bc779d 100755 --- a/tool/build_wasm.sh +++ b/tool/build_wasm.sh @@ -24,10 +24,13 @@ RUSTFLAGS="-C link-arg=-sSIDE_MODULE=2 -C link-arg=-sASYNCIFY=1 -C link-arg=-sJS -Z build-std=panic_abort,core,alloc \ --target wasm32-unknown-emscripten -# Static lib (works for both sync and asyncify builds) -# target/wasm32-unknown-emscripten/wasm/libpowersync.a + +# Static lib. +# Works for both sync and asyncify builds. +# Works for both emscripten and wasi. +# target/wasm32-wasi/wasm/libpowersync.a cargo build \ -p powersync_static \ --profile wasm \ -Z build-std=panic_abort,core,alloc \ - --target wasm32-unknown-emscripten + --target wasm32-wasi From a9001c5c8087d77285ae4e3cde7d0455873e574d Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Mon, 14 Oct 2024 12:15:28 +0200 Subject: [PATCH 07/11] Publish wasm builds. --- .github/workflows/release.yml | 44 +++++++++++++++++++++++++++++++++++ .github/workflows/wasm.yml | 5 +--- tool/build_wasm.sh | 5 ++++ 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2a0a40d..4f1d993 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -237,3 +237,47 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} file-name: libpowersync_x64.dylib tag: ${{ needs.draft_release.outputs.tag }} + + poblish_wasm: + name: Publish WASM builds + needs: [draft_release] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: true + + - name: Install Rust Nightly + uses: dtolnay/rust-toolchain@stable + with: + toolchain: nightly-2024-05-18 + components: rust-src + + - name: Setup emsdk + uses: mymindstorm/setup-emsdk@v14 + with: + version: 3.1.68 + + - name: Build WASM SIDE_MODULE + run: ./tool/build_wasm.sh + + - name: Upload libpowersync.wasm + uses: ./.github/actions/upload + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + file-name: libpowersync.wasm + tag: ${{ needs.draft_release.outputs.tag }} + + - name: Upload libpowersync-async.wasm + uses: ./.github/actions/upload + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + file-name: libpowersync-async.wasm + tag: ${{ needs.draft_release.outputs.tag }} + + - name: Upload libpowersync.a + uses: ./.github/actions/upload + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + file-name: libpowersync.a + tag: ${{ needs.draft_release.outputs.tag }} diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index d2b1b11..29a194c 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -1,6 +1,6 @@ on: push: -name: "linux" +name: "wasm" jobs: build_wasm: name: Basic WASM build @@ -21,8 +21,5 @@ jobs: with: version: 3.1.68 - - name: Build WASM bytecode - run: RUSTFLAGS="--emit=llvm-bc -C linker=/bin/true" cargo build -p powersync_loadable --profile wasm --no-default-features --features "powersync_core/static powersync_core/omit_load_extension sqlite_nostd/static sqlite_nostd/omit_load_extension" -Z build-std=panic_abort,core,alloc --target wasm32-unknown-emscripten - - name: Build WASM SIDE_MODULE run: ./tool/build_wasm.sh diff --git a/tool/build_wasm.sh b/tool/build_wasm.sh index 4bc779d..10c4217 100755 --- a/tool/build_wasm.sh +++ b/tool/build_wasm.sh @@ -12,6 +12,7 @@ RUSTFLAGS="-C link-arg=-sSIDE_MODULE=2" \ -Z build-std=panic_abort,core,alloc \ --target wasm32-unknown-emscripten +cp "target/wasm32-unknown-emscripten/wasm/powersync.wasm" "libpowersync.wasm" # Asyncify # target/wasm32-unknown-emscripten/wasm_asyncify/powersync.wasm @@ -24,6 +25,8 @@ RUSTFLAGS="-C link-arg=-sSIDE_MODULE=2 -C link-arg=-sASYNCIFY=1 -C link-arg=-sJS -Z build-std=panic_abort,core,alloc \ --target wasm32-unknown-emscripten +cp "target/wasm32-unknown-emscripten/wasm_asyncify/powersync.wasm" "libpowersync-async.wasm" + # Static lib. # Works for both sync and asyncify builds. @@ -34,3 +37,5 @@ cargo build \ --profile wasm \ -Z build-std=panic_abort,core,alloc \ --target wasm32-wasi + +cp "target/wasm32-wasi/wasm/libpowersync.a" "libpowersync.wasm" From 30d656e8d0f35ae22879537824ad1d94f8ceefca Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Mon, 14 Oct 2024 12:18:43 +0200 Subject: [PATCH 08/11] Fix libpowersync-wasm.a artifact. --- .github/workflows/release.yml | 4 ++-- tool/build_wasm.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4f1d993..7d6a9a8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -275,9 +275,9 @@ jobs: file-name: libpowersync-async.wasm tag: ${{ needs.draft_release.outputs.tag }} - - name: Upload libpowersync.a + - name: Upload libpowersync-wasm.a uses: ./.github/actions/upload with: repo-token: ${{ secrets.GITHUB_TOKEN }} - file-name: libpowersync.a + file-name: libpowersync-wasm.a tag: ${{ needs.draft_release.outputs.tag }} diff --git a/tool/build_wasm.sh b/tool/build_wasm.sh index 10c4217..fcc78dd 100755 --- a/tool/build_wasm.sh +++ b/tool/build_wasm.sh @@ -38,4 +38,4 @@ cargo build \ -Z build-std=panic_abort,core,alloc \ --target wasm32-wasi -cp "target/wasm32-wasi/wasm/libpowersync.a" "libpowersync.wasm" +cp "target/wasm32-wasi/wasm/libpowersync.a" "libpowersync-wasm.a" From 2fdbfb2f6b83ca8f433cdef2b37e11e5dcb34943 Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Mon, 14 Oct 2024 12:54:54 +0200 Subject: [PATCH 09/11] Remove static crate. --- Cargo.lock | 8 -------- crates/loadable/Cargo.toml | 2 +- crates/static/Cargo.toml | 24 ------------------------ crates/static/README.md | 3 --- crates/static/src/lib.rs | 32 -------------------------------- tool/build_wasm.sh | 4 +++- 6 files changed, 4 insertions(+), 69 deletions(-) delete mode 100644 crates/static/Cargo.toml delete mode 100644 crates/static/README.md delete mode 100644 crates/static/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 8a3817c..456bb7e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -233,14 +233,6 @@ dependencies = [ "sqlite_nostd", ] -[[package]] -name = "powersync_static" -version = "0.3.0" -dependencies = [ - "powersync_core", - "sqlite_nostd", -] - [[package]] name = "proc-macro2" version = "1.0.66" diff --git a/crates/loadable/Cargo.toml b/crates/loadable/Cargo.toml index 952b1fe..de22f9f 100644 --- a/crates/loadable/Cargo.toml +++ b/crates/loadable/Cargo.toml @@ -10,7 +10,7 @@ keywords.workspace = true [lib] name = "powersync" -crate-type = ["cdylib"] +crate-type = ["cdylib", "staticlib"] [dependencies] sqlite_nostd = { workspace=true } diff --git a/crates/static/Cargo.toml b/crates/static/Cargo.toml deleted file mode 100644 index cc7e0f3..0000000 --- a/crates/static/Cargo.toml +++ /dev/null @@ -1,24 +0,0 @@ -[package] -name = "powersync_static" -edition.workspace = true -version.workspace = true -homepage.workspace = true -repository.workspace = true -license.workspace = true -authors.workspace = true -keywords.workspace = true - -[lib] -name = "powersync" -crate-type = ["staticlib"] - -[dependencies] -sqlite_nostd = { workspace=true } - -[dependencies.powersync_core] -path = "../core" -default-features = false -features = [] - -[features] -default = ["powersync_core/static", "powersync_core/omit_load_extension", "sqlite_nostd/omit_load_extension"] diff --git a/crates/static/README.md b/crates/static/README.md deleted file mode 100644 index 05af5c6..0000000 --- a/crates/static/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# powersync_loadable - -Builds the loadable extension as a static library, for environments where dynamic loading is not practical. diff --git a/crates/static/src/lib.rs b/crates/static/src/lib.rs deleted file mode 100644 index c6ca649..0000000 --- a/crates/static/src/lib.rs +++ /dev/null @@ -1,32 +0,0 @@ -#![no_std] -#![feature(vec_into_raw_parts)] -#![feature(core_intrinsics)] -#![allow(internal_features)] -#![feature(lang_items)] -#![feature(error_in_core)] - -extern crate alloc; - -// Defines sqlite3_powersync_init -#[allow(unused_imports)] -use powersync_core; - -// Use the SQLite allocator, allowing us to freely transfer memory between SQLite and Rust. -#[cfg(not(test))] -use sqlite_nostd::SQLite3Allocator; - -#[cfg(not(test))] -#[global_allocator] -static ALLOCATOR: SQLite3Allocator = SQLite3Allocator {}; - -// Custom Panic handler for WASM and other no_std builds -#[cfg(not(test))] -#[panic_handler] -fn panic(_info: &core::panic::PanicInfo) -> ! { - core::intrinsics::abort() -} - -#[cfg(not(target_family = "wasm"))] -#[cfg(not(test))] -#[lang = "eh_personality"] -extern "C" fn eh_personality() {} diff --git a/tool/build_wasm.sh b/tool/build_wasm.sh index fcc78dd..da505e7 100755 --- a/tool/build_wasm.sh +++ b/tool/build_wasm.sh @@ -33,8 +33,10 @@ cp "target/wasm32-unknown-emscripten/wasm_asyncify/powersync.wasm" "libpowersync # Works for both emscripten and wasi. # target/wasm32-wasi/wasm/libpowersync.a cargo build \ - -p powersync_static \ + -p powersync_loadable \ --profile wasm \ + --no-default-features \ + --features "powersync_core/static powersync_core/omit_load_extension sqlite_nostd/omit_load_extension" \ -Z build-std=panic_abort,core,alloc \ --target wasm32-wasi From 3851c6d2328d81667d3c524445ed8632e57f0ca7 Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Mon, 14 Oct 2024 12:57:31 +0200 Subject: [PATCH 10/11] Fix typo. --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7d6a9a8..0b87e80 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -238,7 +238,7 @@ jobs: file-name: libpowersync_x64.dylib tag: ${{ needs.draft_release.outputs.tag }} - poblish_wasm: + publish_wasm: name: Publish WASM builds needs: [draft_release] runs-on: ubuntu-latest From 5d20c099e269198c8ff444aa8bc4d987c4bfedea Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Mon, 14 Oct 2024 12:58:04 +0200 Subject: [PATCH 11/11] This is not only a side-module anymore. --- .github/workflows/release.yml | 2 +- .github/workflows/wasm.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0b87e80..27466bd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -258,7 +258,7 @@ jobs: with: version: 3.1.68 - - name: Build WASM SIDE_MODULE + - name: Build WASM run: ./tool/build_wasm.sh - name: Upload libpowersync.wasm diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index 29a194c..3e2c6e8 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -21,5 +21,5 @@ jobs: with: version: 3.1.68 - - name: Build WASM SIDE_MODULE + - name: Build WASM run: ./tool/build_wasm.sh