Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3151 commits
Select commit Hold shift + click to select a range
67b6fe2
[test] Unify error messages in gc and exception tests (#2023)
q82419 Oct 29, 2025
513d140
Make sure all variables occuring in type annotations are quantified
rossberg Oct 30, 2025
a0a8686
[spectec] Install opam dependencies automatically
rossberg Oct 30, 2025
6b552dc
[spectec] Fix printing of some vector conversion ops
rossberg Oct 30, 2025
1ecaf5c
[spectec] Fix test expects
rossberg Oct 30, 2025
4dfe036
[test] Correct catch clause in type mismatch test (#2024)
g-plane Oct 31, 2025
df76f27
[spec] Fix missing limits subtyping rule
rossberg Nov 1, 2025
3ee667d
[spectec] Fix test expect
rossberg Nov 1, 2025
bbd632e
[spec] A couple of fixes to binary grammar
rossberg Nov 2, 2025
a5f4a85
[spec] Group reference instructions more consistently
rossberg Nov 2, 2025
239296a
Merge branch 'main' into deptup
rossberg Nov 2, 2025
9823ef2
Add args to CaseE, UncaseE, DotE, DotP, expfield; unify params and binds
rossberg Nov 4, 2025
4e314da
[spec] Add missing syntax for idx
rossberg Nov 14, 2025
eee7845
WIP
rossberg Nov 18, 2025
6d81d8c
[spec] Fix off-by-one in reserved type index (#2029)
rossberg Nov 18, 2025
6f3007c
[spec] Fix typo in rule
rossberg Nov 19, 2025
2929f44
Split memory64 JS API tests into separate files (#2026)
dschuff Nov 20, 2025
64478fc
[spectec] Implement IterPr in IL evaluator (#2031)
rossberg Nov 21, 2025
7f7fc33
[spec] Fix macro (#2033)
rossberg Nov 22, 2025
fbf1df4
[interpreter] Abstract script runner over engine (#2030)
rossberg Dec 2, 2025
dcc03d9
WIP2 (now compiles again)
rossberg Dec 1, 2025
1d499f4
[spectec] Fix runner interface to not break SpecTec
rossberg Dec 2, 2025
d825fa0
[spec] Define state access shorthands
rossberg Dec 2, 2025
acaebb2
[spec] Add definitions for state access shorthands
rossberg Dec 2, 2025
4d81d3b
[spec] Introduce meta variable z for state
rossberg Dec 2, 2025
953a152
Make Wasm 1.0 elaborate again
rossberg Dec 2, 2025
87778a2
Treat tuple type vars
rossberg Dec 3, 2025
8bfbeb0
[spec] Fix typo (#2037)
alessiofaieta Dec 3, 2025
58a2f9d
[spectec] Fix typos in Overview.md (#2038)
alessiofaieta Dec 3, 2025
9e50b24
Do dimension analysis on IL
rossberg Dec 3, 2025
2952ac5
[spec] Fix another misspelled macro
rossberg Dec 3, 2025
6e4c4bc
[spec] Fix typo in definition of BsN
rossberg Dec 8, 2025
7b2ad0f
[test] Add test for catching same tag with multiple handlers (#2043)
g-plane Dec 12, 2025
9479f1d
[test] Add test for `catch_all` before `catch` (#2044)
g-plane Dec 13, 2025
b238495
[wasm][js-api] Add test case for externref global (#1983)
Liedtke Jan 5, 2026
1d3e26f
[test] Unify error messages in memory64/bulk64 (#2045)
q82419 Jan 12, 2026
bc1f143
WIP3
rossberg Jan 13, 2026
f2d26ea
[spec] Fix binary format of const literals
rossberg Jan 16, 2026
0fce79c
WIP4 (Wasm 1.0 validates again)
rossberg Jan 18, 2026
c3aee6c
WIP4 (Wasm 2.0 validates again)
rossberg Jan 18, 2026
cc8eabd
Configurable annotation printing
rossberg Jan 19, 2026
354f700
WIP6 (Wasm 3.0 validates again ignoring quant equality)
rossberg Jan 19, 2026
a9a0a31
[js-api] Test validation of string builtin types
tlively Jan 17, 2026
6a11bce
WIP7 (all frontend tests pass)
rossberg Jan 19, 2026
0a5dd16
Deactivate quantifier args
rossberg Jan 19, 2026
c41eb8b
Remove quantifier args
rossberg Jan 19, 2026
4c29c3b
Reorder field/case quantifiers
rossberg Jan 19, 2026
b1dbb4d
Merge branch 'main' into deptup
rossberg Jan 20, 2026
4de78cb
Cleanup
rossberg Jan 20, 2026
aedc92d
Remove obsolete modules
rossberg Jan 20, 2026
777e9c4
[js-api] Fix result types in string builtins
tlively Jan 16, 2026
03fc8b0
Change mixop of constructed function
f52985 Jan 22, 2026
30466a7
Handle case where IterE's ListN's itered variable does not appar in t…
f52985 Jan 22, 2026
df6d77e
More adaptation to change of Mixop of comptype (functype)
f52985 Jan 22, 2026
d098103
Handle case where IterE's ListN's itered variable does not appear in …
f52985 Jan 22, 2026
97614db
Remove obsolte assumption on IterE's xes (that is, at least one varia…
f52985 Jan 22, 2026
0e59490
More fixes
rossberg Jan 26, 2026
eef2766
Allow parameterised relations in IL
rossberg Jan 26, 2026
8df3f96
Surface relation parameters in EL
rossberg Jan 27, 2026
c066c64
[spec] Fix limit validation for memory and table types (#2059)
rossberg Jan 27, 2026
f91f362
[spec] Fix definition of is_packtype (#2061)
rossberg Jan 28, 2026
a4b2e49
[spec] Fix two typos around `ref.as_non_null` (#2062)
zsakowitz Jan 29, 2026
6804c5d
[spectec] Fix arithmetic binop typing
rossberg Feb 2, 2026
ba77273
[spectec] Allow any order in variant parent types
rossberg Feb 2, 2026
a119b24
[spec] Bring back explicit `reftype` in Element section (#2067)
agis Feb 2, 2026
76c81e0
Create specification/wasm-latest (#2064)
tlively Feb 2, 2026
f1590fd
Revert "Create specification/wasm-latest (#2064)"
tlively Feb 2, 2026
5b6b30d
temporarily move wasm-3.0 to preserve history
tlively Feb 2, 2026
8bfee34
move wasm-3.0 to wasm-latest
tlively Feb 2, 2026
a2febb8
Merge moves of wasm-3.0
tlively Feb 2, 2026
c61fd29
restore wasm-3.0 from temporary directory
tlively Feb 2, 2026
d882125
Ensure wasm-latest is correct in CI (#2068)
tlively Feb 3, 2026
4d130b3
Fix 6.4-text.modules.spectec filename (#2069)
tlively Feb 3, 2026
a20e214
Use wasm-latest instead of wasm-3.0 in tests and docs (#2070)
tlively Feb 3, 2026
e6a967f
Enable exit on err for al interpreter
f52985 Feb 3, 2026
099532b
[spec] Trivial variable renaming
rossberg Feb 3, 2026
1c9a04e
[spec] Add missing contextual rules for handlers (#2063)
zilinc Feb 3, 2026
1ecdbf3
[spectec] Allow quoting more operators as atoms
rossberg Feb 3, 2026
36ce9b8
[spectec] Allow more recursion
rossberg Feb 5, 2026
f03bae5
[spec] Fix typo for reserved instructions in appendix (#2074)
mark-rushakoff Feb 6, 2026
d147495
[js-api] Add missing argument to WebAssembly.Exception.getArg (#2073)
Ms2ger Feb 6, 2026
1b2b34a
[spec] Remove obsolete note (#2071)
zsakowitz Feb 6, 2026
c9c51e4
[spectec] Validate IL atoms; some fixes
rossberg Feb 9, 2026
e1eedae
[spectec] Handle assertion with InfixT
f52985 Feb 10, 2026
1376ba0
[spec] Tweak some layout
rossberg Feb 10, 2026
f38a520
[spec] Fix state for expression evaluation
rossberg Feb 10, 2026
eac9517
Revert "[spec] Fix state for expression evaluation"
rossberg Feb 10, 2026
726f4f7
Initial semantics sketch
rossberg Feb 10, 2026
72ed239
Fix normalisation of SUB
rossberg Feb 10, 2026
b32104a
[spec] Fix print hint for $tagaddr (#2077)
rossberg Feb 10, 2026
6b96f87
Add missing SUB reductions
rossberg Feb 10, 2026
55d3203
[spectec] Remove obsolete translation for optional singleton constructor
f52985 Feb 12, 2026
ff43526
[spectec] Remove unnecessary push and pop of frame
f52985 Feb 12, 2026
c355302
Merge branch 'main' into deptup
rossberg Feb 12, 2026
0910161
[ci] Adjust job
rossberg Feb 12, 2026
b6629b0
Merge branch 'main' into deptup
rossberg Feb 12, 2026
34f1c29
Tweak workflows
rossberg Feb 12, 2026
0e799ae
Tweak workflows some more
rossberg Feb 12, 2026
4f8c003
Allow parameterised relations in IL
rossberg Jan 26, 2026
ea05fab
Surface relation parameters in EL
rossberg Jan 27, 2026
6569c90
[ci] Bump OCaml version
rossberg Feb 12, 2026
503036f
Merge branch 'main' into semantics
rossberg Feb 13, 2026
08c15a0
Make spec compile again
rossberg Feb 13, 2026
fa84017
[spectec] Add README
rossberg Feb 13, 2026
9cac9a6
[test] Check that backwards branches trim the stack (#2082)
Sainan Feb 13, 2026
62f535c
[spectec] Support hints on rules
rossberg Feb 13, 2026
3e84478
[spec] Fix another bug around is_packtype
rossberg Feb 16, 2026
f4888a1
[spec] Reactivate trailing syntax dots
rossberg Feb 16, 2026
2a87417
[spec] Port to latest
rossberg Feb 16, 2026
8f830af
[spectec] Use record extension
rossberg Feb 16, 2026
ae2d32d
[test] Improve incorrect comments (#2085)
marxin Feb 16, 2026
dd1600d
[test] Fix comment in binary-leb128.wast (#2088)
Sainan Feb 18, 2026
035fbe0
[spectec] Fix nits in IL semantics (#2090)
sukyoung Feb 21, 2026
20aba52
[spectec] Add missing EQ/NE reduction rules to IL semantics
rossberg Feb 24, 2026
6a6876a
[spec] Fix state for expression evaluation (#2078)
rossberg Feb 24, 2026
8a73ca5
[spectec] Fix rule SUB-STR in IL semantics
rossberg Feb 25, 2026
fb72c97
[bikeshed] Attempt at fixing the Katex fixup
rossberg Feb 26, 2026
63201ed
[spec] Fix wrong parameter in definition of vextbinop operator
rossberg Feb 26, 2026
52a209d
[spectec] Fix resolution of argument syntax sugar in the case of forw…
rossberg Feb 26, 2026
9c4b2cb
[ci] Update and narrow triggers
rossberg Feb 26, 2026
fc696cd
[spec] Add a sync script for wasm-latest
rossberg Feb 26, 2026
d2cb595
[spec] Fix use of elemexpr in text format (#2095)
bvisness Feb 26, 2026
f2fce28
[ci] Update test expects
rossberg Feb 27, 2026
c5a8cab
[spectec] Fix typos in IL semantics (#2091)
sukyoung Mar 1, 2026
b228d7c
[test] Improve array.init_elem tests (#2097)
tlively Mar 1, 2026
13734f8
[test] Check that try_table acts like a block (#2098)
Sainan Mar 1, 2026
0a278c7
[interpreter] make target for installing dependencies
rossberg Mar 3, 2026
6460cf1
ci] Use Makefile for dependencies
rossberg Mar 3, 2026
c07e5c9
[ci] Fix
rossberg Mar 3, 2026
8238c78
[spec] Fixing memarg binary format (#2101)
raoxiaojia Mar 9, 2026
5dfff49
[spectec] Add missing free variable computations for exception syntax
rossberg Mar 9, 2026
e5d4e9d
[spectec] Tweak various aspects of syntax elaboration
rossberg Mar 9, 2026
ff645dd
[spectec] Sync latest
rossberg Mar 9, 2026
43d4530
[spectec] Fix typo in IL semantics rule (#2104)
jihongmin63 Mar 10, 2026
fc5cd13
[spectec] Remove obsolete MEM-OPT reduction rules from IL semantics
rossberg Mar 10, 2026
b7b18cc
[spectec] Generalise CAT and remove COMP from IL semantics
rossberg Mar 10, 2026
fa8ea41
[proposals/spectec] Update LICENSE for spectec and proposals director…
rossberg Mar 10, 2026
8ec9f58
[spec] Cumulative fixes for text format and binary format specificati…
raoxiaojia Mar 10, 2026
fdb3bd0
[spectec] Add syntax for forall/exists atoms
rossberg Mar 11, 2026
f4d24bc
[spectec] Support subscripting prec/succ
rossberg Mar 11, 2026
74b327f
[spectec] Simplify IL semantics type syntax
rossberg Mar 12, 2026
44801dd
[spectec] Fix EQ/NE reduction in IL semantics
rossberg Mar 12, 2026
12b9dbc
[spectec] More functionality for the debugger (#2096)
rossberg Mar 16, 2026
7575515
[spec] Fix misplaced anchor (#2114)
Taywee Mar 16, 2026
da9ea89
[spec] Several scattered spec fixes (#2112)
raoxiaojia Mar 16, 2026
d2906df
[spec] Fix subtyping rules for bottom heaptypes (#2116)
rossberg Mar 16, 2026
6c2c638
[spectec] Do not allow premise weakening in record/variant subtyping
rossberg Mar 18, 2026
6a1257e
[test][js-api] WebAssembly.Global.<prototype>set should not throw wit…
Liedtke Mar 16, 2026
2907f45
[test] Refine some error messages (#2119)
q82419 Mar 23, 2026
8a4f0d0
[spectec] Define IL semantics for pattern matching (#2106)
rossberg Mar 23, 2026
228e910
[spec] Narrow definition of null ref values (#2093)
rossberg Mar 23, 2026
ebb0b4f
[spectec] Bump ocaml version in README (#2121)
jaehyun1ee Mar 24, 2026
be6efe6
[spectec] Fix subst_externtype matching on incorrect argument types (…
raoxiaojia Mar 24, 2026
aaf9ffb
[spectec] Make definition of state access nicer (#2036)
rossberg Mar 24, 2026
811f86a
[spec] Add missing side condition on growtable/memory (#2108)
rossberg Mar 24, 2026
594c534
[spectec] Add fail rule for str match in IL semantics (#2122)
jaehyun1ee Mar 24, 2026
ba0b447
[spectec] Avoid variable capture in IL semantics
rossberg Mar 25, 2026
7e22396
[spectec] Fix refresh_exppulls in IL semantics
rossberg Mar 25, 2026
d8fc833
[spectec] Refactor refresh in IL semantics
rossberg Mar 25, 2026
cc90d82
[spectec] Add missing side condition on
rossberg Mar 25, 2026
dd0d7a9
[test][js-api] WebAssembly.Exception.length should be 2 (#2123)
Liedtke Mar 25, 2026
072bd0d
[js-api] Add Ryan as an editor of js-api and web-api
eqrion Mar 25, 2026
40490e3
[interpreter] Remove unused NullPat
rossberg Mar 30, 2026
1b79b88
[interpreter] Revive heaptype on ref.null script literals (#2129)
rossberg Mar 30, 2026
8cb8dc9
[spectec] Restrict reduction of equality to values
rossberg Mar 31, 2026
80d3d19
[js-api] Editorial improvements (#2126)
eqrion Mar 31, 2026
468e5a1
[spectec] Fix use of equality in IL MemE semantics
rossberg Apr 2, 2026
9d12073
[interpreter] Remove redundant substitution in Invoke reduction (#2132)
rossberg Apr 2, 2026
13444d0
[js-api] Use [AllowResizable] AllowSharedBufferSource for bytecode (#…
eqrion Apr 2, 2026
55741de
[spec] Fix typo in grammar notation (#2133)
masak Apr 3, 2026
d462f0a
[interpreter] A few tweaks to README
rossberg Apr 7, 2026
1b70e0e
[spec] Fix typo in module abbreviation text format (#2137)
alessiofaieta Apr 7, 2026
e86d1d2
[spectec] Avoid spurious diffs from NanoWasm pdf
rossberg Apr 7, 2026
9fb3a59
[spectec] Fix `$fnat` show hint (#2138)
alessiofaieta Apr 8, 2026
a21b0df
[test] Segments are evaluated only once in `array.{new,init}_elem` (#…
fitzgen Apr 8, 2026
91f9d08
[spec] Fix typo (#2139)
alessiofaieta Apr 9, 2026
f9c743a
[spectec] Minor tweak to syntax in IL semantics
rossberg Apr 16, 2026
cbef362
[spec] Fix typo (#2143)
zilinc Apr 20, 2026
d949ce5
[spec] Fix cross-references to constant expressions (#2145)
bvisness Apr 20, 2026
44b03c2
[spec] Define soundness rules in SpecTec (#2125)
rossberg Apr 22, 2026
55cd299
[spec] Refine abstract syntax of modules to use list
rossberg Apr 22, 2026
b06b61d
[spec] Slight simplification to Rectype_ok2 judgement (#2148)
rossberg Apr 22, 2026
db413c6
[ci] Fix test expects
rossberg Apr 22, 2026
d656c59
[spec] Remove obsolete heading (#2152)
alessiofaieta Apr 23, 2026
0832c84
[spec] Fix crossref for `type` (#2153)
alessiofaieta Apr 23, 2026
65211ab
[spec/spectec] Fix prose title of if instruction (#2154)
f52985 Apr 24, 2026
d7b6783
[spec] Fix rendering of Expand
rossberg Apr 24, 2026
18e6ed1
[spectec] Automate extraction of validation rules for prose generatio…
f52985 Apr 27, 2026
3d487bf
[spectec] Split def of context's RECS field; make struct extension wo…
rossberg Apr 27, 2026
92d7e86
[spec] Tweaks
rossberg Apr 27, 2026
f500d7f
[spec] Port Soundness Appendix to SpecTec, pt. 1 (rules for types)
rossberg Apr 27, 2026
965039e
[spectec] Sync diff
rossberg Apr 27, 2026
b1ae9c5
[spectec] Add documentation about subscripted infix operators and the…
rossberg Apr 28, 2026
7d618b1
[ci] Test exepcts
rossberg Apr 28, 2026
7ee14a6
[spectec] Formalise binding semantics for let premises (#2109)
rossberg Apr 28, 2026
3db6d66
[spectec] Model failure in IL semantics
rossberg Apr 29, 2026
a6ed9b2
[spec] Use `fieldidx` instead of `u32` (#2149)
alessiofaieta Apr 30, 2026
f28b2f3
[spectec] Fix IL semantics rules for iterated premises
rossberg May 5, 2026
1c659a6
[spec] Add missing meta-theory rules for recursive type indices (#2156)
rossberg May 5, 2026
dbde397
[spectec] Constrain type inference for sequences (#2160)
rossberg May 7, 2026
e422cdf
[spec] Fix validation of ref.func set (#2162)
zilinc May 8, 2026
28b9f84
[spec/spectec] Fix prose for rule instr_const (#2161)
f52985 May 8, 2026
032f6e0
[spec] Remove obsolete heading
rossberg May 12, 2026
dc5f15e
[spec] Limit PDF bookmarks depth to avoid hyperref misrendering (#2165)
rossberg May 12, 2026
aed61c2
[spectec] Dynamically check side conditions on type fields/cases (#2158)
rossberg May 12, 2026
4aaa12c
[interpreter] Fix deftype closure invariant in validator (#2167)
rossberg May 13, 2026
9fb128d
[spec] Add missing text format for relaxed_dot instructions (#2163)
rossberg May 13, 2026
3f3b4c2
[spec] Add missing `exnaddr` in Addresses section (#2168)
q82419 May 14, 2026
e2f04d6
[test][harness] Add table64 to the JS spectest definitions (#2017)
cqundefine May 15, 2026
8db1617
[spectec] IL semantics: be sufficiently eager to not drop failures (#…
rossberg May 19, 2026
d34a973
[spectec] Make NanoWasm.pdf reproducible
rossberg May 20, 2026
9c5f5b0
[spectec] Couple of minor fixes to spec
rossberg May 26, 2026
e62a7f0
[spec/spectec] Compact subtyping check in branch rules
raoxiaojia May 26, 2026
ee70f77
[spectec] Tweak Config_ok to use Expr_ok2
rossberg May 26, 2026
eb6f165
[test][harness] Fix table64 in the JS spectest definitions (#2172)
Ms2ger May 26, 2026
a05043b
[test] Improve test coverage around {data,elem}.drop (#2176)
bvisness May 26, 2026
93c7fab
[spectec] Externaddr ok guard (#2178)
raoxiaojia May 27, 2026
a5e5ad5
[spec] Fix typo in rule (#2179)
rossberg Jun 2, 2026
65db2fb
[spectec] Overhaul handling of partiality in evaluator (WIP)
rossberg May 11, 2026
e74ad1d
Track valueness for intro forms
rossberg May 26, 2026
21b053f
Static reduction
rossberg Jun 2, 2026
507bb1e
[spec] Typing rule fix for `handler` blocks (#2180)
raoxiaojia Jun 4, 2026
7a366e1
[spectec] Handle shadowing in IL semantics (#2181)
rossberg Jun 4, 2026
0e00418
[spec] Tightened resulttype validity guard context for `frame` blocks…
raoxiaojia Jun 8, 2026
7827c14
[spectec] Fix upper limit in memory/tableinst extension relations (#2…
DCupello1 Jun 10, 2026
9f5be8e
[spec] Fix rendering of is_packtype (#2186)
raoxiaojia Jun 10, 2026
5e0f6e4
[spectec] Fix several wrong type annotations produced by elaborator
rossberg Jun 12, 2026
7e98d85
[spectec] Enable to run validator as inferrer
rossberg Jun 12, 2026
f8d7f41
[spectec] Do not create redundant 1-tuples
rossberg Jun 12, 2026
585c73a
[spectec] Update test expects after rebase
rossberg Jun 12, 2026
ee6b46b
[spectec] Forgotten commit for validator
rossberg Jun 12, 2026
b1c5da6
[spectec] Fix commit for validator
rossberg Jun 12, 2026
f3d3448
[spectec] Refactor argument unboxing
rossberg Jun 13, 2026
da036ca
[spectec] Add generalised typing rules for call_ref soundness (#2188)
rossberg Jun 16, 2026
86477a3
[spec] Rename `(offset foo)` text production to `offsetexpr` (fixing …
bvisness Jun 19, 2026
869387d
[spec] Prevent possible index overflow in typing rule for module inst…
rossberg Jun 19, 2026
30a71d8
[spec] Restrict tag typing to match current expectations
rossberg Jun 23, 2026
ec055c0
[spec] Fix memarg text format
rossberg Jun 23, 2026
9979256
[spec] Add valtype validity guard to `Local_ok` (#2195)
raoxiaojia Jun 23, 2026
bd4633a
[spec] Fix instr sequence typing rules to actually be composable (#2197)
rossberg Jun 23, 2026
24a7a71
[spec] Partly revert #2162: ignore start for func refs (#2201)
zilinc Jun 24, 2026
7c4e998
[spec] Layout tweak
rossberg Jun 25, 2026
82cd4f9
[spectec/interpreter] Update dune-project files
rossberg Jun 27, 2026
ef4771a
[spec] Fix minor error on v128.store_lane oob condition (#2204)
raoxiaojia Jul 7, 2026
3714348
[spec] Fix localval_ok/unset for Appendix (#2206)
raoxiaojia Jul 7, 2026
1440d2d
[cite] Update wasm-specs.bib
rossberg Jul 8, 2026
15a46ee
[spectec] Eps
rossberg Jul 9, 2026
c29be3e
[website] Add 3.0 to versions; tweak bibentries to actually work as i…
rossberg Jul 10, 2026
d7b37e4
[website] Move doc to the correct location
rossberg Jul 10, 2026
c29fe80
Implement WebAssembly Stack Switching proposal
fgmccabe Jul 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
23 changes: 12 additions & 11 deletions .github/workflows/ci-interpreter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,17 @@ jobs:
- name: Setup OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 4.14.x
- name: Setup OCaml tools
run: opam install --yes ocamlfind.1.9.5 js_of_ocaml.4.0.0 js_of_ocaml-ppx.4.0.0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
ocaml-compiler: 5.04.x
- name: Build interpreter
run: cd interpreter && opam exec make
run: cd interpreter && opam exec make jsdeps wasm
# Neither V8 nor SpiderMonkey can currently handle all 3.0 tests, so we disable checking JS translation for now.
#- name: Setup Node.js
# uses: actions/setup-node@v4
# with:
# node-version: 25-nightly
#- name: Setup SpiderMonkey
# run: curl -O https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/jsshell-linux-x86_64.zip && unzip jsshell-linux-x86_64.zip
- name: Run tests
# TODO: reactiate node once it supports all of Wasm 3.0
# run: cd interpreter && opam exec make JS=node ci
run: cd interpreter && opam exec make ci
run: cd interpreter && opam exec make ci # don't test JS translation
# run: cd interpreter && opam exec make JS=node ci # test with V8
# run: cd interpreter && opam exec make JS=../js ci # test with SM
43 changes: 30 additions & 13 deletions .github/workflows/ci-spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,39 @@ name: CI for specs

on:
push:
branches: [ main, wasm-3.0 ]
paths: [ .github/**, document/** ]
branches: [ main ]
paths: [ .github/**, document/**, spectec/src/**, specification/** ]

pull_request:
branches: [ main, wasm-3.0 ]
paths: [ .github/**, document/** ]
branches: [ main ]
paths: [ .github/**, document/**, spectec/src/**, specification/** ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
ensure-wasm-latest:
if: ${{ github.repository == 'WebAssembly/spec' }}
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Diff wasm-latest
run: cd specification && bash diff-wasm-latest.sh

build-core-spec:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Setup OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.04.x
- name: Setup Dune
run: opam install --yes dune menhir mdx zarith && opam exec dune --version
- name: Setup Node.js
uses: actions/setup-node@v4
with:
Expand All @@ -29,11 +44,13 @@ jobs:
- name: Setup TexLive
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
- name: Setup Sphinx
run: pip install six && pip install sphinx==5.1.0
run: pip install six && pip install sphinx==8.1.3
- name: Build SpecTec
run: cd spectec && opam exec make
- name: Build main spec
run: cd document/core && make main
run: cd document/core && opam exec make main
- name: Run Bikeshed
run: cd document/core && make bikeshed
run: cd document/core && opam exec make bikeshed
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -72,16 +89,15 @@ jobs:

build-code-metadata-spec:
runs-on: ubuntu-latest
needs: [build-core-spec]
steps:
- name: Checkout repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Setup TexLive
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
- name: Setup Sphinx
run: pip install six && pip install sphinx==5.1.0
run: pip install six && pip install sphinx==8.1.3
- name: Build main spec
run: cd document/metadata/code && make main
- name: Upload artifact
Expand All @@ -94,13 +110,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Setup TexLive
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
- name: Setup Sphinx
run: pip install six && pip install sphinx==5.1.0
run: pip install six && pip install sphinx==8.1.3
- name: Build main spec
run: cd document/legacy/exceptions/core && make main
- name: Upload artifact
Expand All @@ -113,7 +129,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Setup Bikeshed
run: pip install bikeshed && bikeshed update
- name: Run Bikeshed
Expand All @@ -138,6 +154,7 @@ jobs:
publish-spec:
runs-on: ubuntu-latest
needs:
- ensure-wasm-latest
- build-core-spec
- build-js-api-spec
- build-web-api-spec
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/ci-spectec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: CI for spectec

on:
push:
branches: [ main ]
paths: [ spectec/**, document/** ]

pull_request:
branches: [ main ]
paths: [ spectec/**, document/** ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
spec-tec:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Setup OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.04.x
- name: Setup Dune
run: opam install --yes dune menhir mdx zarith
- name: Setup Latex
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
- name: Setup Sphinx
run: pip install six && pip install sphinx==8.1.3
- name: Build and test
run: cd spectec && opam exec make ci
69 changes: 0 additions & 69 deletions .github/workflows/w3c-publish.yml

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
**/*.pyc
**/_build
**/_output
*.swp
4 changes: 3 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ Please see the LICENSE file in each top-level directory for the terms applicable
The relevant directories and licenses are:

document/ - W3C Software and Document Notice and License
spectec/ - Apache License 2.0
interpreter/ - Apache License 2.0
test/ - Apache License 2.0
papers/ - Creative Commons Attribution 4.0 International License
proposals/ - Creative Commons Universal 1.0 International License (CC0)
papers/ - Creative Commons Attribution 4.0 International License (CC BY 4.0)
26 changes: 20 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,27 @@
[![CI for specs](https://github.com/WebAssembly/spec/actions/workflows/ci-spec.yml/badge.svg)](https://github.com/WebAssembly/spec/actions/workflows/ci-spec.yml)
[![CI for interpreter & tests](https://github.com/WebAssembly/spec/actions/workflows/ci-interpreter.yml/badge.svg)](https://github.com/WebAssembly/spec/actions/workflows/ci-interpreter.yml)
[![CI for specs](https://github.com/WebAssembly/stack-switching/actions/workflows/ci-spec.yml/badge.svg)](https://github.com/WebAssembly/stack-switching/actions/workflows/ci-spec.yml)
[![CI for interpreter & tests](https://github.com/WebAssembly/stack-switching/actions/workflows/ci-interpreter.yml/badge.svg)](https://github.com/WebAssembly/stack-switching/actions/workflows/ci-interpreter.yml)

# Stack-Switching Proposal for WebAssembly

This repository is a clone of [`WebAssembly/spec`](https://github.com/WebAssembly/spec/). It is meant for discussion, prototype specification, and implementation of a proposal to add
support for stack-switching.

See the [explainer](proposals/stack-switching/Explainer.md) for a high-level summary of the proposal.

# spec

This repository holds the sources for the WebAssembly specification,
a reference implementation, and the official test suite.
This repository holds a prototypical reference implementation for WebAssembly,
which is currently serving as the official specification. Eventually, we expect
to produce a specification either written in human-readable prose or in a formal
specification language.

It also holds the WebAssembly testsuite, which tests numerous aspects of
conformance to the spec.

View the work-in-progress spec at [webassembly.github.io/spec](https://webassembly.github.io/spec/).

A formatted version of the spec is available here:
[webassembly.github.io/spec](https://webassembly.github.io/spec/),
At this time, the contents of this repository are under development and known
to be "incomplet and inkorrect".

Participation is welcome. Discussions about new features, significant semantic
changes, or any specification change likely to generate substantial discussion
Expand Down
2 changes: 1 addition & 1 deletion document/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ pipenv shell
Install Python dependencies:

```
pipenv install Sphinx==4.0.0 six
pipenv install Sphinx==8.1.3 six
```

### Checking out the repository
Expand Down
1 change: 1 addition & 0 deletions document/core/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
_build
_static
_spectec
document/*.pyc
Loading