From 53fd3da671fb868feb1b93674884689f09b5317e Mon Sep 17 00:00:00 2001 From: Nate Moore Date: Sun, 24 May 2026 23:58:53 -0400 Subject: [PATCH 1/2] ref(opt): use -0z and wasm-opt --- .github/workflows/preview.yml | 3 +++ .github/workflows/publish.yml | 9 +++++++++ .github/workflows/verify.yaml | 9 +++++++++ Makefile | 4 +++- 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 5fc0b91..e9d192a 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -26,6 +26,9 @@ jobs: with: deno-version: v2.x + - name: install binaryen + run: sudo apt-get install -y binaryen + - name: build wasm run: make diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c130955..355e603 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,6 +23,9 @@ jobs: with: deno-version: v2.x + - name: install binaryen + run: sudo apt-get install -y binaryen + - name: build wasm run: make @@ -52,6 +55,9 @@ jobs: with: deno-version: v2.x + - name: install binaryen + run: sudo apt-get install -y binaryen + - name: build wasm run: make @@ -125,6 +131,9 @@ jobs: with: deno-version: v2.x + - name: install binaryen + run: sudo apt-get install -y binaryen + - name: build wasm run: make diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index 09bce38..d88086c 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -37,6 +37,9 @@ jobs: - name: lint run: deno lint + - name: install binaryen + run: sudo apt-get install -y binaryen + - name: build wasm run: make @@ -97,6 +100,9 @@ jobs: with: deno-version: v2.x + - name: install binaryen + run: sudo apt-get install -y binaryen + - name: build wasm run: make @@ -126,6 +132,9 @@ jobs: with: node-version: 24 + - name: install binaryen + run: sudo apt-get install -y binaryen + - name: build wasm run: make diff --git a/Makefile b/Makefile index 1103b8e..cb6e391 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,9 @@ CC = clang +WASM_OPT ?= wasm-opt TARGET = clayterm.wasm SRC = src/module.c -CFLAGS = --target=wasm32 -nostdlib -O2 \ +CFLAGS = --target=wasm32 -nostdlib -Oz \ -ffunction-sections -fdata-sections \ -mbulk-memory \ -DCLAY_IMPLEMENTATION -DCLAY_WASM \ @@ -48,6 +49,7 @@ DEPS = $(wildcard src/*.c src/*.h) $(TARGET): $(DEPS) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(SRC) + $(WASM_OPT) -Oz --enable-bulk-memory -o $@ $@ wasm.ts: $(TARGET) deno run --allow-read --allow-write tasks/bundle-wasm.ts From c3a298318c3de83d764ff893e48271cd607db7e3 Mon Sep 17 00:00:00 2001 From: Nate Moore Date: Thu, 28 May 2026 01:47:45 -0400 Subject: [PATCH 2/2] fix(ci): install wasm-opt --- .github/workflows/benchmark.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 123abef..9d04eba 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -34,6 +34,9 @@ jobs: with: node-version: 22 + - name: install binaryen + run: sudo apt-get install -y binaryen + - name: Build WASM run: make