PureYAMLStreaming/.github/workflows/wasm.yml
Mihaela Mihaljevic 9fd46932d1 fix: harden browser WASM benchmark
Make the live benchmark report Swift-measured parse timing, use deterministic browser CI, and deploy only after local and live Pages validation pass.
2026-06-06 23:20:03 +02:00

38 lines
1.3 KiB
YAML

name: WASM
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Install build tools
run: |
sudo apt-get update
sudo apt-get install -y binaryen gzip libcurl4-openssl-dev
- name: Install swiftly
run: |
curl -L https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz > swiftly.tar.gz
tar zxf swiftly.tar.gz
./swiftly init --quiet-shell-followup --assume-yes --skip-install
- name: Install Swift 6.3.2 and Wasm SDK
run: |
. "${SWIFTLY_HOME_DIR:-$HOME/.local/share/swiftly}/env.sh"
swiftly install --use 6.3.2
swiftly run swift sdk install https://download.swift.org/swift-6.3.2-release/wasm-sdk/swift-6.3.2-RELEASE/swift-6.3.2-RELEASE_wasm.artifactbundle.tar.gz --checksum a61f0584c93283589f8b2f42db05c1f9a182b506c2957271402992655591dd7c +6.3.2
- name: Build WASM benchmark site
run: |
. "${SWIFTLY_HOME_DIR:-$HOME/.local/share/swiftly}/env.sh"
bash scripts/build-wasm-site.sh
- name: Upload WASM site artifact
uses: actions/upload-artifact@v6
with:
name: pureyaml-streaming-wasm-site
path: WasmSite
retention-days: 7