Skip to content

Commit a52751d

Browse files
committed
refactor(CI): update CI Wasm-bindgen setup
1 parent 4279b3d commit a52751d

2 files changed

Lines changed: 33 additions & 10 deletions

File tree

.github/workflows/ci.yml

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,38 @@ jobs:
4242
cargo install trunk --locked
4343
fi
4444
45-
if ! command -v wasm-bindgen &> /dev/null; then
46-
cargo install wasm-bindgen-cli --version 0.2.106
45+
REQUIRED_VERSION=$(cargo metadata --format-version 1 --no-deps 2>/dev/null \
46+
| python3 -c "
47+
import sys, json
48+
meta = json.load(sys.stdin)
49+
for pkg in meta['packages']:
50+
if pkg['name'] == 'wasm-bindgen':
51+
print(pkg['version'])
52+
break
53+
" || echo "")
54+
55+
if [ -z "$REQUIRED_VERSION" ]; then
56+
REQUIRED_VERSION=$(grep -A1 'name = "wasm-bindgen"' Cargo.lock \
57+
| grep version | head -1 | sed 's/.*version = "\(.*\)"/\1/')
58+
fi
59+
60+
echo "Required wasm-bindgen version: $REQUIRED_VERSION"
61+
62+
INSTALLED_VERSION=$(wasm-bindgen --version 2>/dev/null | awk '{print $2}' || echo "none")
63+
echo "Installed wasm-bindgen version: $INSTALLED_VERSION"
64+
65+
if [ "$INSTALLED_VERSION" != "$REQUIRED_VERSION" ]; then
66+
echo "Version mismatch, compiling wasm-bindgen-cli $REQUIRED_VERSION from source..."
67+
cargo install wasm-bindgen-cli --version "=$REQUIRED_VERSION" --locked
68+
else
69+
echo "wasm-bindgen-cli is up to date."
4770
fi
4871
4972
if ! command -v wasm-opt &> /dev/null; then
50-
wget https://github.com/WebAssembly/binaryen/releases/download/version_126/binaryen-version_126-aarch64-linux.tar.gz
51-
tar -xzf binaryen-version_126-aarch64-linux.tar.gz
52-
sudo mv binaryen-version_126/bin/wasm-opt /usr/local/bin/
53-
rm -rf binaryen-version_126*
73+
wget https://github.com/WebAssembly/binaryen/releases/download/version_128/binaryen-version_128-aarch64-linux.tar.gz
74+
tar -xzf binaryen-version_128-aarch64-linux.tar.gz
75+
sudo mv binaryen-version_128/bin/wasm-opt /usr/local/bin/
76+
rm -rf binaryen-version_128*
5477
fi
5578
5679
echo "$HOME/.cargo/bin" >> $GITHUB_PATH

.github/workflows/release-ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ jobs:
2929
rustup target add wasm32-unknown-unknown
3030
cargo install trunk --locked
3131
32-
- name: Install wasm-opt 125
32+
- name: Install wasm-opt 128
3333
run: |
34-
wget https://github.com/WebAssembly/binaryen/releases/download/version_125/binaryen-version_125-x86_64-linux.tar.gz
35-
tar -xzf binaryen-version_125-x86_64-linux.tar.gz
36-
sudo mv binaryen-version_125/bin/wasm-opt /usr/local/bin/
34+
wget https://github.com/WebAssembly/binaryen/releases/download/version_128/binaryen-version_128-aarch64-linux.tar.gz
35+
tar -xzf binaryen-version_128-aarch64-linux.tar.gz
36+
sudo mv binaryen-version_128/bin/wasm-opt /usr/local/bin/
3737
wasm-opt --version
3838
3939
- name: Build frontend

0 commit comments

Comments
 (0)