Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3982 commits
Select commit Hold shift + click to select a range
bdddcf2
[spec] Fix Katex hacks
rossberg Oct 8, 2025
0f1bc28
[spec] Fix Katex hacks 2
rossberg Oct 8, 2025
228614a
[spec] Fix typos (#2006)
alessiofaieta Oct 8, 2025
730503d
Small tweak on BinE and UnE real types.
DCupello1 Oct 8, 2025
26d354c
Modifying Pnn and Inn to be aliases of packtype and addrtype, respect…
DCupello1 Oct 8, 2025
c6b743b
[spec] Fix Katex hacks 3
rossberg Oct 8, 2025
2192553
fix test.md
DCupello1 Oct 8, 2025
5aebe3f
[spectec] Adjust test expects
rossberg Oct 8, 2025
321f2d5
[spectec] Support record extension analogous to variant extension
rossberg Oct 8, 2025
e3c074c
Make Echidna status checking tolerate transient failure (#1856)
dschuff Oct 8, 2025
338cf40
Override ECHIDNA_DRYRUN make variable on command line (#2001)
dschuff Oct 8, 2025
4f4c67a
[proposals] Fix typo (#2007)
id-ilych Oct 9, 2025
e2de519
[interpreter] JS Conversion: add of_loc_unquoted and use it in commen…
dschuff Oct 9, 2025
3ff86e1
Add assert_exception to the core test harnesses (#1991)
Ms2ger Oct 9, 2025
fac3545
[interpreter] Formatting nit
rossberg Oct 9, 2025
3f8737f
Update check_type
f52985 Oct 13, 2025
e948b47
fix TEST.md for other tests
DCupello1 Oct 13, 2025
7b93476
Merge branch 'main' into typefamily-removal-pass
DCupello1 Oct 13, 2025
a499738
[interpreter] Catch failing string conversion in JS harness (#2011)
rossberg Oct 14, 2025
c373382
[spectec] Remove interpreter test message (#2015)
f52985 Oct 15, 2025
5e4fdb4
[spec] Add reserved entry to instruction index (#2014)
GavinAnderberg Oct 15, 2025
f915557
[spec] Add missing def of unpack function
rossberg Oct 16, 2025
939d97e
[js-api][web-api] Use the 'react' algorithm from WebIDL (#1835)
Ms2ger Oct 16, 2025
d6b06e7
Merge pull request #186 from DCupello1/typefamily-removal-pass
rossberg Oct 17, 2025
acb9202
[spec] Fix binary code of `noexn` in appendix (#2022)
q82419 Oct 27, 2025
1e6c562
Revive else pass.
DCupello1 Oct 27, 2025
1788ba4
Fix test.md
DCupello1 Oct 27, 2025
3eabe83
Undep pass enabled
DCupello1 Oct 27, 2025
1da609c
fix test.md
DCupello1 Oct 27, 2025
2d165d2
Slight comment change
DCupello1 Oct 27, 2025
f92667e
[test] Unify error messages in gc/type-subtyping (#2019)
q82419 Oct 28, 2025
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
fbde36b
Merge pull request #187 from DCupello1/else-pass
DCupello1 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
b46e48d
Merge pull request #188 from DCupello1/undep-pass
DCupello1 Nov 4, 2025
181cd3a
Ported new changes to sub pass and enabled it once again. Also reenab…
DCupello1 Nov 4, 2025
53e4551
Ported uncase-removal pass
DCupello1 Nov 4, 2025
55edd95
Remove sideconditions change
DCupello1 Nov 5, 2025
aa05d84
fix TEST.md
DCupello1 Nov 5, 2025
11245bd
Merge pull request #189 from Wasm-DSL/sub-pass
DCupello1 Nov 5, 2025
19d66f5
Merge branch 'sub-pass' into uncase-removal-pass
DCupello1 Nov 5, 2025
597b7e2
comment on uncaseremoval added
DCupello1 Nov 5, 2025
6c6d752
fix TEST.md
DCupello1 Nov 5, 2025
2188ff3
refactor: small list function change due to version mismatch
DCupello1 Nov 5, 2025
530a969
small change again
DCupello1 Nov 5, 2025
7c34091
Start on sub expansion pass. Validates up to 2.0.
DCupello1 Nov 12, 2025
b68dd90
Improved handling of generated binds, and removed boilerplate code.
DCupello1 Nov 12, 2025
255e13e
Added type family sub expansion support, and comment description of pass
DCupello1 Nov 12, 2025
66b12dc
small fix on name generation.
DCupello1 Nov 12, 2025
75b49fa
Improved bind handling: each case carries its own binds now.
DCupello1 Nov 12, 2025
5974062
Further improvement on bind handling: now handles clauses as well. Li…
DCupello1 Nov 12, 2025
a3195aa
Refactor middle end tests (#194)
nomeata Nov 12, 2025
25cee09
Add alias-demut pass (#193)
nomeata Nov 13, 2025
e44b624
Bump ocaml compiler (#196)
nomeata Nov 13, 2025
4f0d226
Merge branch 'main' into uncase-removal-pass
DCupello1 Nov 13, 2025
c9755ef
Merge branch 'uncase-removal-pass' into sub-expansion-pass
DCupello1 Nov 13, 2025
798b0e5
Generated projection function hints
DCupello1 Nov 13, 2025
bfad604
Focus on disambiguating ids instead of prefixing type constructors.
DCupello1 Nov 13, 2025
80d9091
update tests
DCupello1 Nov 13, 2025
5e31286
spec changes
DCupello1 Nov 13, 2025
c2aaaff
Update tests
DCupello1 Nov 13, 2025
942de10
Merge pull request #201 from Wasm-DSL/small-spec-changes
DCupello1 Nov 13, 2025
4e314da
[spec] Add missing syntax for idx
rossberg Nov 14, 2025
efd54e6
Removed params for family projection functions.
DCupello1 Nov 14, 2025
aa293d4
remove wf_preds for binds that appear in func args, and remove args e…
DCupello1 Nov 14, 2025
eee7845
WIP
rossberg Nov 18, 2025
6d81d8c
[spec] Fix off-by-one in reserved type index (#2029)
rossberg Nov 18, 2025
8112a80
[spec] Fix typo in rule
rossberg Nov 19, 2025
6f3007c
[spec] Fix typo in rule
rossberg Nov 19, 2025
2c87e88
fix bracket parsing
zilinc Nov 19, 2025
a20bba5
[spectec] Fix bracket recognition for variants
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
c19d2d5
Merge branch 'main' into undep-fix
DCupello1 Nov 21, 2025
104edd0
Update tests
DCupello1 Nov 21, 2025
0c0eced
remove to_list and use elements.
DCupello1 Nov 21, 2025
7f7fc33
[spec] Fix macro (#2033)
rossberg Nov 22, 2025
938f2db
Add IfE constuctor to IL AST (#210)
nomeata Dec 1, 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
b3bff17
test-middlend: do not require copying pass names in dune files (#200)
nomeata Dec 3, 2025
d2fdd73
Add if-then-else introduction IL pass (#211)
nomeata Dec 3, 2025
9c69350
refactor projection function creation.
DCupello1 Dec 3, 2025
7f8103c
Merge branch 'main' into uncase-removal-pass
DCupello1 Dec 3, 2025
93b7a35
Merge pull request #191 from Wasm-DSL/uncase-removal-pass
DCupello1 Dec 3, 2025
3e673fc
Merge branch 'main' into sub-expansion-pass
DCupello1 Dec 3, 2025
0308a06
Merge pull request #195 from Wasm-DSL/sub-expansion-pass
DCupello1 Dec 4, 2025
6e4c4bc
[spec] Fix typo in definition of BsN
rossberg Dec 8, 2025
12459ce
Merge branch 'main' into improve-ids-pass
DCupello1 Dec 8, 2025
eee6937
Added IfE traversal to uncaseremoval, subexpansion, and improveids
DCupello1 Dec 8, 2025
8587f1e
Fix tests
DCupello1 Dec 8, 2025
2ec9f83
Make sure no holes are left in mixops
DCupello1 Dec 8, 2025
0582fc4
Remove old test file
DCupello1 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
5e70e47
Made transform, collect, exists and forall traversal
DCupello1 Dec 15, 2025
2831186
Merged list, forall, exists into one collect traversal.
DCupello1 Dec 16, 2025
30d16a5
extended transform traversal to go through the whole AST (except hints)
DCupello1 Dec 16, 2025
46b6066
Simplified 5 passes with new transformer approach
DCupello1 Dec 16, 2025
b452996
Small fix on walk making collector only work on lists. Made so custom…
DCupello1 Dec 18, 2025
dbf74d2
Fix tests (this change is due to small bug on uncase with introductio…
DCupello1 Dec 18, 2025
b238495
[wasm][js-api] Add test case for externref global (#1983)
Liedtke Jan 5, 2026
41dd386
Adapted sideconditions to utilize the new traversal method. Found iss…
DCupello1 Jan 7, 2026
9fe0bce
Small fix on walk.ml to allow paths to also traverse their note.
DCupello1 Jan 7, 2026
8dffda9
Adapted undep to also follow new traversals approach
DCupello1 Jan 7, 2026
1f67f9c
Merge pull request #212 from Wasm-DSL/il-transformers
DCupello1 Jan 8, 2026
ba5ca79
Merge branch 'main' into undep-fix
DCupello1 Jan 8, 2026
9df1008
Merge pull request #205 from Wasm-DSL/undep-fix
DCupello1 Jan 8, 2026
2f94367
Merge branch 'main' into improve-ids-pass
DCupello1 Jan 8, 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
ab78b4d
Merge pull request #198 from Wasm-DSL/improve-ids-pass
DCupello1 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
30526ce
Merge remote-tracking branch 'upstream/main' into sync2
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
03c378b
Merge remote-tracking branch 'upstream/main'
rossberg Feb 12, 2026
dc04802
Make middlend passes compile
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
defa80f
[Type family removal] changes to mixop and dependent tuple handling.
DCupello1 Feb 16, 2026
dc57778
[Undep] Changes to mixop and quant handling
DCupello1 Feb 16, 2026
f92f383
Merge pull request #220 from Wasm-DSL/merge-deptup-tf-fixes
rossberg Feb 16, 2026
41736ab
Merge IL changes from upstream (#218)
rossberg Feb 16, 2026
e064890
Merge remote-tracking branch 'upstream/main'
rossberg Feb 16, 2026
e0b87d9
Fix ci-spectec.yml
rossberg Feb 16, 2026
dd1600d
[test] Fix comment in binary-leb128.wast (#2088)
Sainan Feb 18, 2026
939e2c5
Spec changes that fixes some non-exhaustive pattern matching
DCupello1 Feb 19, 2026
bb53950
CR changes: made more functions partial instead of adding cases. Subs…
DCupello1 Feb 19, 2026
035fbe0
[spectec] Fix nits in IL semantics (#2090)
sukyoung Feb 21, 2026
a9ba228
[spectec] Fix matching against CvtE
rossberg Feb 23, 2026
0fd8ed6
[spectec] Add missing reduction rules for paths and iters to IL seman…
rossberg Feb 23, 2026
662dde5
[spectec] Minor renaming of rule
rossberg Feb 23, 2026
ddc1ee9
Append missing iter variable for IterN
f52985 Feb 24, 2026
f93c275
Simplify error message upon free variable exception
f52985 Feb 24, 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
3a3d0da
Print more helpful error message for the MatchE failure
f52985 Feb 27, 2026
ab1b082
Manually insert unified variable for minus_set function
f52985 Feb 27, 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
1889959
Merge remote-tracking branch 'upstream/main'
rossberg Mar 1, 2026
f3abd6b
Reverted subst change due to hints
DCupello1 Mar 3, 2026
34cc42d
Fix tests
DCupello1 Mar 3, 2026
b6c8e50
Merge pull request #221 from Wasm-DSL/partial-func-changes
DCupello1 Mar 3, 2026
fddc2cc
Fix partial functions being called on the body of partial functions.
DCupello1 Mar 2, 2026
c230bff
Fixed an issue with partial functions calls having partial functions …
DCupello1 Mar 2, 2026
99ed21b
catch all check now checks premises as well
DCupello1 Mar 2, 2026
54ea232
Now returns an error if a partial function call has a partial functio…
DCupello1 Mar 3, 2026
8239ccb
Fix tests
DCupello1 Mar 4, 2026
354b440
Fix tests with new main changes
DCupello1 Mar 4, 2026
12b79f6
Merge pull request #223 from Wasm-DSL/totalize-transfer-partiality
DCupello1 Mar 4, 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
  •  
  •  
  •  
33 changes: 18 additions & 15 deletions .github/workflows/ci-interpreter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ name: CI for interpreter & tests

on:
push:
branches: [ main ]
paths: [ interpreter/**, test/** ]
branches: [ main, wasm-3.0 ]
paths: [ .github/**, interpreter/**, test/** ]

pull_request:
branches: [ main ]
paths: [ interpreter/**, test/** ]
branches: [ main, wasm-3.0 ]
paths: [ .github/**, interpreter/**, test/** ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand All @@ -17,20 +17,23 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Setup OCaml
uses: ocaml/setup-ocaml@v2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 4.14.x
ocaml-compiler: 5.04.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@v2
with:
node-version: 19.x
run: opam install --yes ocamlfind js_of_ocaml js_of_ocaml-ppx
- name: Build interpreter
run: cd interpreter && opam exec make
# 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
139 changes: 120 additions & 19 deletions .github/workflows/ci-spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,47 +3,56 @@ name: CI for specs
on:
push:
branches: [ main ]
paths: [ document/** ]
paths: [ .github/**, document/**, spectec/src/**, specification/** ]

pull_request:
branches: [ main ]
paths: [ document/** ]
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@v2
uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Setup OCaml
uses: ocaml/setup-ocaml@v2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 4.14.x
ocaml-compiler: 5.04.x
- name: Setup Dune
run: opam install --yes dune menhir mdx && opam exec dune --version
run: opam install --yes dune menhir mdx zarith && opam exec dune --version
- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 16
- name: Setup Bikeshed
run: pip install bikeshed && bikeshed update
- 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 && opam exec make main
- name: Run Bikeshed
run: cd document/core && opam exec make bikeshed
- name: Upload artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: core-rendered
path: document/core/_build/html
Expand All @@ -52,13 +61,13 @@ 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
run: bikeshed spec "document/js-api/index.bs" "document/js-api/index.html"
- name: Upload artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: js-api-rendered
path: document/js-api/index.html
Expand All @@ -67,43 +76,135 @@ 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
run: bikeshed spec "document/web-api/index.bs" "document/web-api/index.html"
- name: Upload artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: web-api-rendered
path: document/web-api/index.html

build-code-metadata-spec:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
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==8.1.3
- name: Build main spec
run: cd document/metadata/code && make main
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: code-metadata-rendered
path: document/metadata/code/_build/html

build-legacy-exceptions-core-spec:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
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==8.1.3
- name: Build main spec
run: cd document/legacy/exceptions/core && make main
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: legacy-exceptions-core-rendered
path: document/legacy/exceptions/core/_build/html

build-legacy-exceptions-js-api-spec:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Setup Bikeshed
run: pip install bikeshed && bikeshed update
- name: Run Bikeshed
run: bikeshed spec "document/legacy/exceptions/js-api/index.bs" "document/legacy/exceptions/js-api/index.html"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: legacy-exceptions-js-api-rendered
path: document/legacy/exceptions/js-api/index.html

build-spec-versions:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: versions-rendered
path: document/versions/

publish-spec:
runs-on: ubuntu-latest
needs: [build-core-spec, build-js-api-spec, build-web-api-spec]
needs:
- ensure-wasm-latest
- build-core-spec
- build-js-api-spec
- build-web-api-spec
- build-code-metadata-spec
- build-legacy-exceptions-core-spec
- build-legacy-exceptions-js-api-spec
- build-spec-versions
steps:
- name: Checkout repo
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Create output directory
run: mkdir _output && cp document/index.html _output/index.html
- name: Download core spec artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: core-rendered
path: _output/core
- name: Download JS API spec artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: js-api-rendered
path: _output/js-api
- name: Download Web API spec artifact
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: web-api-rendered
path: _output/web-api
- name: Download code metadata spec artifact
uses: actions/download-artifact@v4
with:
name: code-metadata-rendered
path: _output/metadata/code
- name: Download legacy exceptions core spec artifact
uses: actions/download-artifact@v4
with:
name: legacy-exceptions-core-rendered
path: _output/legacy/exceptions/core
- name: Download legacy exceptions JS API spec artifact
uses: actions/download-artifact@v4
with:
name: legacy-exceptions-js-api-rendered
path: _output/legacy/exceptions/js-api
- name: Download spec versions artifacts
uses: actions/download-artifact@v4
with:
name: versions-rendered
path: _output/versions
- name: Publish to GitHub Pages
if: github.ref == 'refs/heads/main'
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
publish_dir: ./_output
github_token: ${{ secrets.GITHUB_TOKEN }}
15 changes: 7 additions & 8 deletions .github/workflows/ci-spectec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@ name: CI for spectec
on:
push:
branches: [ main ]
paths: [ spectec/** ]
paths: [ spectec/**, document/** ]

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

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand All @@ -17,16 +16,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Setup OCaml
uses: ocaml/setup-ocaml@v2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 4.14.x
ocaml-compiler: 5.04.x
- name: Setup Dune
run: opam install --yes dune menhir mdx
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==5.1.0
run: pip install six && pip install sphinx==8.1.3
- name: Build and test
run: cd spectec && opam exec make ci
18 changes: 0 additions & 18 deletions .github/workflows/mirror-to-master.yml

This file was deleted.

Loading