Skip to content

Update functionalscript to v0.24.0 and add CI workflow #2

Update functionalscript to v0.24.0 and add CI workflow

Update functionalscript to v0.24.0 and add CI workflow #2

Workflow file for this run

{
"name": "CI",
"on": {
"pull_request": {}
},
"jobs": {
"ubuntu-intel": {
"runs-on": "ubuntu-24.04",
"steps": [
{
"run": "sudo apt-get update && sudo apt-get install -y libc6-dev-i386"
},
{
"uses": "dtolnay/rust-toolchain@1.95.0",
"with": {
"components": "rustfmt,clippy",
"targets": "wasm32-wasip1,wasm32-wasip2,wasm32-unknown-unknown,wasm32-wasip1-threads,i686-unknown-linux-gnu"
}
},
{
"uses": "bytecodealliance/actions/wasmtime/setup@v1",
"with": {
"version": "45.0.0"
}
},
{
"uses": "wasmerio/setup-wasmer@v3.1",
"with": {
"version": "v7.1.0"
}
},
{
"uses": "actions/setup-node@v6",
"with": {
"node-version": "26.3.0"
}
},
{
"run": "npm install -g @typescript/native-preview@7.0.0-dev.20260604.1"
},
{
"uses": "denoland/setup-deno@v2",
"with": {
"deno-version": "2.8.2"
}
},
{
"uses": "oven-sh/setup-bun@v2",
"with": {
"bun-version": "1.3.14"
}
},
{
"uses": "actions/checkout@v6"
},
{
"run": "cargo fmt -- --check"
},
{
"run": "cargo clippy -- -D warnings"
},
{
"run": "cargo test"
},
{
"run": "cargo test --release"
},
{
"run": "cargo test --target wasm32-wasip1"
},
{
"run": "cargo test --target wasm32-wasip1 --release"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip2"
},
{
"run": "cargo test --target wasm32-wasip2 --release"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown"
},
{
"run": "cargo test --target wasm32-unknown-unknown --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads"
},
{
"run": "cargo test --target wasm32-wasip1-threads --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target i686-unknown-linux-gnu"
},
{
"run": "cargo test --target i686-unknown-linux-gnu --release"
},
{
"run": "npm ci"
},
{
"run": "npm t"
},
{
"run": "npm run fst"
},
{
"run": "tsgo"
},
{
"run": "npm pack"
},
{
"run": "npm install -g ./*.tgz"
},
{
"run": "fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "fjs t"
},
{
"run": "npm uninstall functionalscript -g"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "deno install"
},
{
"run": "deno task test"
},
{
"run": "deno task fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "deno task fjs t"
},
{
"run": "deno publish --dry-run --allow-slow-types"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "bun install"
},
{
"run": "bun test --timeout 20000"
},
{
"run": "bun ./fs/fjs/module.ts t"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
}
]
},
"ubuntu-arm": {
"runs-on": "ubuntu-24.04-arm",
"steps": [
{
"uses": "dtolnay/rust-toolchain@1.95.0",
"with": {
"components": "rustfmt,clippy",
"targets": "wasm32-wasip1,wasm32-wasip2,wasm32-unknown-unknown,wasm32-wasip1-threads"
}
},
{
"uses": "bytecodealliance/actions/wasmtime/setup@v1",
"with": {
"version": "45.0.0"
}
},
{
"uses": "wasmerio/setup-wasmer@v3.1",
"with": {
"version": "v7.1.0"
}
},
{
"uses": "actions/setup-node@v6",
"with": {
"node-version": "26.3.0"
}
},
{
"run": "npm install -g @typescript/native-preview@7.0.0-dev.20260604.1"
},
{
"uses": "denoland/setup-deno@v2",
"with": {
"deno-version": "2.8.2"
}
},
{
"uses": "oven-sh/setup-bun@v2",
"with": {
"bun-version": "1.3.14"
}
},
{
"uses": "actions/checkout@v6"
},
{
"run": "cargo fmt -- --check"
},
{
"run": "cargo clippy -- -D warnings"
},
{
"run": "cargo test"
},
{
"run": "cargo test --release"
},
{
"run": "cargo test --target wasm32-wasip1"
},
{
"run": "cargo test --target wasm32-wasip1 --release"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip2"
},
{
"run": "cargo test --target wasm32-wasip2 --release"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown"
},
{
"run": "cargo test --target wasm32-unknown-unknown --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads"
},
{
"run": "cargo test --target wasm32-wasip1-threads --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml --release"
},
{
"run": "npm ci"
},
{
"run": "npm t"
},
{
"run": "npm run fst"
},
{
"run": "tsgo"
},
{
"run": "npm pack"
},
{
"run": "npm install -g ./*.tgz"
},
{
"run": "fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "fjs t"
},
{
"run": "npm uninstall functionalscript -g"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "deno install"
},
{
"run": "deno task test"
},
{
"run": "deno task fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "deno task fjs t"
},
{
"run": "deno publish --dry-run --allow-slow-types"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "bun install"
},
{
"run": "bun test --timeout 20000"
},
{
"run": "bun ./fs/fjs/module.ts t"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
}
]
},
"macos-intel": {
"runs-on": "macos-26-intel",
"steps": [
{
"uses": "dtolnay/rust-toolchain@1.95.0",
"with": {
"components": "rustfmt,clippy",
"targets": "wasm32-wasip1,wasm32-wasip2,wasm32-unknown-unknown,wasm32-wasip1-threads"
}
},
{
"uses": "bytecodealliance/actions/wasmtime/setup@v1",
"with": {
"version": "45.0.0"
}
},
{
"uses": "wasmerio/setup-wasmer@v3.1",
"with": {
"version": "v7.1.0"
}
},
{
"uses": "actions/setup-node@v6",
"with": {
"node-version": "26.3.0"
}
},
{
"run": "npm install -g @typescript/native-preview@7.0.0-dev.20260604.1"
},
{
"uses": "denoland/setup-deno@v2",
"with": {
"deno-version": "2.8.2"
}
},
{
"uses": "oven-sh/setup-bun@v2",
"with": {
"bun-version": "1.3.14"
}
},
{
"uses": "actions/checkout@v6"
},
{
"run": "cargo fmt -- --check"
},
{
"run": "cargo clippy -- -D warnings"
},
{
"run": "cargo test"
},
{
"run": "cargo test --release"
},
{
"run": "cargo test --target wasm32-wasip1"
},
{
"run": "cargo test --target wasm32-wasip1 --release"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip2"
},
{
"run": "cargo test --target wasm32-wasip2 --release"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown"
},
{
"run": "cargo test --target wasm32-unknown-unknown --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads"
},
{
"run": "cargo test --target wasm32-wasip1-threads --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml --release"
},
{
"run": "npm ci"
},
{
"run": "npm t"
},
{
"run": "npm run fst"
},
{
"run": "tsgo"
},
{
"run": "npm pack"
},
{
"run": "npm install -g ./*.tgz"
},
{
"run": "fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "fjs t"
},
{
"run": "npm uninstall functionalscript -g"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "deno install"
},
{
"run": "deno task test"
},
{
"run": "deno task fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "deno task fjs t"
},
{
"run": "deno publish --dry-run --allow-slow-types"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "bun install"
},
{
"run": "bun test --timeout 20000"
},
{
"run": "bun ./fs/fjs/module.ts t"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
}
]
},
"macos-arm": {
"runs-on": "macos-26",
"steps": [
{
"uses": "dtolnay/rust-toolchain@1.95.0",
"with": {
"components": "rustfmt,clippy",
"targets": "wasm32-wasip1,wasm32-wasip2,wasm32-unknown-unknown,wasm32-wasip1-threads"
}
},
{
"uses": "bytecodealliance/actions/wasmtime/setup@v1",
"with": {
"version": "45.0.0"
}
},
{
"uses": "wasmerio/setup-wasmer@v3.1",
"with": {
"version": "v7.1.0"
}
},
{
"uses": "actions/setup-node@v6",
"with": {
"node-version": "26.3.0"
}
},
{
"run": "npm install -g @typescript/native-preview@7.0.0-dev.20260604.1"
},
{
"uses": "denoland/setup-deno@v2",
"with": {
"deno-version": "2.8.2"
}
},
{
"uses": "oven-sh/setup-bun@v2",
"with": {
"bun-version": "1.3.14"
}
},
{
"uses": "actions/checkout@v6"
},
{
"run": "cargo fmt -- --check"
},
{
"run": "cargo clippy -- -D warnings"
},
{
"run": "cargo test"
},
{
"run": "cargo test --release"
},
{
"run": "cargo test --target wasm32-wasip1"
},
{
"run": "cargo test --target wasm32-wasip1 --release"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip2"
},
{
"run": "cargo test --target wasm32-wasip2 --release"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown"
},
{
"run": "cargo test --target wasm32-unknown-unknown --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads"
},
{
"run": "cargo test --target wasm32-wasip1-threads --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml --release"
},
{
"run": "npm ci"
},
{
"run": "npm t"
},
{
"run": "npm run fst"
},
{
"run": "tsgo"
},
{
"run": "npm pack"
},
{
"run": "npm install -g ./*.tgz"
},
{
"run": "fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "fjs t"
},
{
"run": "npm uninstall functionalscript -g"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "deno install"
},
{
"run": "deno task test"
},
{
"run": "deno task fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "deno task fjs t"
},
{
"run": "deno publish --dry-run --allow-slow-types"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "bun install"
},
{
"run": "bun test --timeout 20000"
},
{
"run": "bun ./fs/fjs/module.ts t"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
}
]
},
"windows-intel": {
"runs-on": "windows-2025",
"steps": [
{
"uses": "dtolnay/rust-toolchain@1.95.0",
"with": {
"components": "rustfmt,clippy",
"targets": "wasm32-wasip1,wasm32-wasip2,wasm32-unknown-unknown,wasm32-wasip1-threads,i686-pc-windows-msvc"
}
},
{
"uses": "bytecodealliance/actions/wasmtime/setup@v1",
"with": {
"version": "45.0.0"
}
},
{
"uses": "wasmerio/setup-wasmer@v3.1",
"with": {
"version": "v7.1.0"
}
},
{
"uses": "actions/setup-node@v6",
"with": {
"node-version": "26.3.0"
}
},
{
"run": "npm install -g @typescript/native-preview@7.0.0-dev.20260604.1"
},
{
"uses": "denoland/setup-deno@v2",
"with": {
"deno-version": "2.8.2"
}
},
{
"uses": "oven-sh/setup-bun@v2",
"with": {
"bun-version": "1.3.14"
}
},
{
"uses": "actions/checkout@v6"
},
{
"run": "cargo fmt -- --check"
},
{
"run": "cargo clippy -- -D warnings"
},
{
"run": "cargo test"
},
{
"run": "cargo test --release"
},
{
"run": "cargo test --target wasm32-wasip1"
},
{
"run": "cargo test --target wasm32-wasip1 --release"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip2"
},
{
"run": "cargo test --target wasm32-wasip2 --release"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown"
},
{
"run": "cargo test --target wasm32-unknown-unknown --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads"
},
{
"run": "cargo test --target wasm32-wasip1-threads --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target i686-pc-windows-msvc"
},
{
"run": "cargo test --target i686-pc-windows-msvc --release"
},
{
"run": "npm ci"
},
{
"run": "npm t"
},
{
"run": "npm run fst"
},
{
"run": "tsgo"
},
{
"run": "npm pack"
},
{
"run": "npm install -g (Get-ChildItem *.tgz).FullName"
},
{
"run": "fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "fjs t"
},
{
"run": "npm uninstall functionalscript -g"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "deno install"
},
{
"run": "deno task test"
},
{
"run": "deno task fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "deno task fjs t"
},
{
"run": "deno publish --dry-run --allow-slow-types"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "bun install"
},
{
"run": "bun test --timeout 20000"
},
{
"run": "bun ./fs/fjs/module.ts t"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
}
]
},
"windows-arm": {
"runs-on": "windows-11-arm",
"steps": [
{
"uses": "dtolnay/rust-toolchain@1.95.0",
"with": {
"components": "rustfmt,clippy",
"targets": "wasm32-wasip1,wasm32-wasip2,wasm32-unknown-unknown,wasm32-wasip1-threads"
}
},
{
"uses": "bytecodealliance/actions/wasmtime/setup@v1",
"with": {
"version": "45.0.0"
}
},
{
"uses": "wasmerio/setup-wasmer@v3.1",
"with": {
"version": "v7.1.0"
}
},
{
"uses": "actions/setup-node@v6",
"with": {
"node-version": "26.3.0"
}
},
{
"run": "npm install -g @typescript/native-preview@7.0.0-dev.20260604.1"
},
{
"uses": "denoland/setup-deno@v2",
"with": {
"deno-version": "2.8.2"
}
},
{
"run": "irm bun.sh/install.ps1 | iex; \"$env:USERPROFILE\\.bun\\bin\" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append"
},
{
"uses": "actions/checkout@v6"
},
{
"run": "cargo fmt -- --check"
},
{
"run": "cargo clippy -- -D warnings"
},
{
"run": "cargo test"
},
{
"run": "cargo test --release"
},
{
"run": "cargo test --target wasm32-wasip1"
},
{
"run": "cargo test --target wasm32-wasip1 --release"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip2"
},
{
"run": "cargo test --target wasm32-wasip2 --release"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip2 --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown"
},
{
"run": "cargo test --target wasm32-unknown-unknown --release"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-unknown-unknown --config .cargo/config.wasmer.toml --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads"
},
{
"run": "cargo test --target wasm32-wasip1-threads --release"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml"
},
{
"run": "cargo test --target wasm32-wasip1-threads --config .cargo/config.wasmer.toml --release"
},
{
"run": "npm ci"
},
{
"run": "npm t"
},
{
"run": "npm run fst"
},
{
"run": "tsgo"
},
{
"run": "npm pack"
},
{
"run": "npm install -g (Get-ChildItem *.tgz).FullName"
},
{
"run": "fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "fjs t"
},
{
"run": "npm uninstall functionalscript -g"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "deno install"
},
{
"run": "deno task test"
},
{
"run": "deno task fjs compile issues/demo/data/tree.json _tree.f.js"
},
{
"run": "deno task fjs t"
},
{
"run": "deno publish --dry-run --allow-slow-types"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
},
{
"run": "bun install"
},
{
"run": "bun test --timeout 20000"
},
{
"run": "bun ./fs/fjs/module.ts t"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
}
]
},
"node24": {
"runs-on": "ubuntu-24.04",
"steps": [
{
"uses": "actions/setup-node@v6",
"with": {
"node-version": "24.16.0"
}
},
{
"uses": "actions/checkout@v6"
},
{
"run": "npm ci"
},
{
"run": "npm t"
},
{
"run": "npm run fst"
}
]
},
"playwright": {
"runs-on": "ubuntu-24.04",
"steps": [
{
"uses": "actions/setup-node@v6",
"with": {
"node-version": "26.3.0"
}
},
{
"uses": "actions/cache@v5",
"with": {
"path": "~/.cache/ms-playwright",
"key": "ubuntu-24.04-playwright-1.60.0"
}
},
{
"run": "npm install -g playwright@1.60.0"
},
{
"run": "playwright install-deps"
},
{
"run": "playwright install"
},
{
"uses": "actions/checkout@v6"
},
{
"run": "npm ci"
},
{
"run": "npx playwright test --browser=chromium"
},
{
"run": "npx playwright test --browser=firefox"
},
{
"run": "npx playwright test --browser=webkit"
},
{
"run": "git reset --hard HEAD && git clean -fdx"
}
]
}
}
}