name: Build Examples
on: [push]
permissions:
contents: read
env:
CARGO_TERM_COLOR: always
jobs:
build-examples:
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@v5
with:
submodules: recursive
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-wasip1, wasm32-wasip2
- name: Build CDN examples (wasm32-wasip1)
run: |
for dir in examples/cdn/*/; do
[ -f "$dir/Cargo.toml" ] || continue
echo "::group::$dir"
(cd "$dir" && cargo build --release --locked --target wasm32-wasip1)
echo "::endgroup::"
done
- name: Build http/basic examples (wasm32-wasip1)
run: |
for dir in examples/http/basic/*/; do
[ -f "$dir/Cargo.toml" ] || continue
echo "::group::$dir"
(cd "$dir" && cargo build --release --locked --target wasm32-wasip1)
echo "::endgroup::"
done
- name: Build http/wasi examples (wasm32-wasip2)
run: |
for dir in examples/http/wasi/*/; do
[ -f "$dir/Cargo.toml" ] || continue
echo "::group::$dir"
(cd "$dir" && cargo build --release --locked --target wasm32-wasip2)
echo "::endgroup::"
done