Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5099 commits
Select commit Hold shift + click to select a range
8e44461
[backend-prose] Make handling of config more robust
rossberg Jul 3, 2025
d82f7ac
Properly handle command errors
rossberg Jul 3, 2025
f2f5d11
[spec] Move misplaced rule
rossberg Jul 4, 2025
774f32e
Overhaul interpreter AST
rossberg Jun 24, 2025
10c73e6
Overhaul interpreter type AST
rossberg Jun 24, 2025
df117cc
Rename source pos to loc
rossberg Jun 27, 2025
ffbb466
Group numeric conversion modules
rossberg Jun 27, 2025
a667285
Rename vector ops
rossberg Jun 27, 2025
94931ec
Factor out sx and half
rossberg Jun 27, 2025
876da6d
Rename Operators to Mnemonics
rossberg Jun 27, 2025
6c2cd9b
Tweak stringification
rossberg Jun 28, 2025
d499afc
Refactor syntax of type uses and imports/exports
rossberg Jun 29, 2025
e434c34
Vaidation returns module type
rossberg Jun 29, 2025
d0eee4a
Consistent ordering
rossberg Jun 29, 2025
981f45f
Remove forward guess in allocmodule function
f52985 Jul 4, 2025
123eb02
Fix remaining interpreter issues
rossberg Jul 5, 2025
b693f17
Merge branch 'main' into reorder
rossberg Jul 5, 2025
d79e5c8
Make tag representation more consistent; consistent ordering (Wasm-DS…
rossberg Jul 5, 2025
a87fffc
Merge branch 'upstream'
rossberg Jul 6, 2025
5f5cfa8
Fix merge accident
rossberg Jul 6, 2025
50c2e8e
[interpreter] Backmerge some tweaks from SpecTec fork
rossberg Jul 6, 2025
57ffe3e
Adjust test expects
rossberg Jul 6, 2025
05edd2d
Remove wrong render: 'the context s'
f52985 Jul 7, 2025
7d55fb7
[interpreter] Tweak AST
rossberg Jul 6, 2025
7da7b6b
[interpreter] Clean up packed num types
rossberg Jul 7, 2025
abd25d9
Adjust spectec interpreter
rossberg Jul 7, 2025
1eb3dee
Adjust unit test
rossberg Jul 7, 2025
c0cbdde
Tweak externtype definition
rossberg Jul 7, 2025
c216c8c
Simplify var name
f52985 Jul 8, 2025
2fdc3bf
Enable omitting the prosepp
f52985 Jul 8, 2025
514220f
Enable hint overwriting for prose
f52985 Jul 9, 2025
f42f59e
Remove redundant assertion for br
f52985 Jul 9, 2025
0046994
Make testpromote
f52985 Jul 9, 2025
de5c235
[spec] Order types consistently
rossberg Jul 9, 2025
08530fb
Make tagtype consistent
rossberg Jul 9, 2025
eb9e137
[spec] Consistent ordering for modules
rossberg Jul 10, 2025
f1722f2
Flatten composite types; several adjustments in Properties section
rossberg Jul 11, 2025
6fb6ca8
[spectec] Require explicit declaration of builtins; adjust all specs
rossberg Jul 12, 2025
97e53b4
Fix typos in docs
rossberg Jul 12, 2025
1a4e668
[spectec] Require explicit declaration of builtins
rossberg Jul 12, 2025
923adfe
Fix type index table's layout
rossberg Jul 12, 2025
4133b27
Require declaration of inverses
rossberg Jul 12, 2025
0f3d5fa
Fix some corss references in spec
rossberg Jul 12, 2025
8094396
Fix hyperlinks
rossberg Jul 12, 2025
44790f6
Eliminate false inverses
rossberg Jul 13, 2025
fc7a735
Rename Builtins module to Host to avoid confusion with builtin functions
rossberg Jul 13, 2025
90d6ded
Merge branch 'main' into inverse
rossberg Jul 13, 2025
a45eaf8
Implement idiv/rem/min/max in source
rossberg Jul 13, 2025
3302f34
Merge branch 'main' into inverse
rossberg Jul 13, 2025
3749d9a
Remove unnecessary rebinding in validation rules
f52985 Jul 10, 2025
bc29a5e
Simplify variable names
f52985 Jul 14, 2025
9be8f80
Merge pull request #174 from Wasm-DSL/inverse
rossberg Jul 14, 2025
ffe86ac
Fix rendering glitches
f52985 Jul 14, 2025
9c06493
Merge redundant branches
f52985 Jul 14, 2025
e56d644
Port text format to SpecTec, pt 1
rossberg Jul 13, 2025
3d378d9
Some internal renamings
rossberg Jul 14, 2025
7b432c6
Fix handling of parameters in dimension inference
rossberg Jul 14, 2025
33648df
Add missing relaxed_laneselect instructions to binary format
rossberg Jul 14, 2025
ca3d533
Various updates and fixes to spec doc
rossberg Jul 14, 2025
905eea6
Test updates
rossberg Jul 14, 2025
4f0daec
Avoid OCaml 5 library function
rossberg Jul 14, 2025
7bf6816
Adjust use of END
rossberg Jul 16, 2025
b25640b
[spec] Update the instruction index for memory64 (#1948)
4y8 Jul 16, 2025
d46e0b1
Remove sidecondition for same-length
f52985 Jul 15, 2025
8b8b391
Refactor postprocessing of prose
f52985 Jul 16, 2025
d3d6b18
Finetuning for handling ForallS
f52985 Jul 16, 2025
1eeae63
Refactor prose hint
f52985 Jul 18, 2025
43b1edd
Refactor rendering of ExtE
f52985 Jul 18, 2025
37bed7d
Port text format to SpecTec, pt 1
rossberg Jul 13, 2025
3d81df7
Text format values & types
rossberg Jul 13, 2025
bd0eecf
Instructions & modules
rossberg Jul 14, 2025
162fee4
Fix merge
rossberg Jul 14, 2025
ddec578
Lexical syntax
rossberg Jul 16, 2025
410d525
Make shorthand grammars work; improve test deps
rossberg Jul 18, 2025
6802be0
More hacks to treat singleton strings as characters
rossberg Jul 18, 2025
95e0b78
Remove dead binding from validation prose
f52985 Jul 18, 2025
4ce042a
Reorder stmts
f52985 Jul 21, 2025
2d4d620
Rename type names
f52985 Jul 21, 2025
3ed2014
Implement grammar range short-hand
rossberg Jul 22, 2025
d812371
Apply prose hint for state mutating functions
f52985 Jul 22, 2025
c0c52cb
Add more prose hints
f52985 Jul 22, 2025
7d6318f
Do not use Ocaml 5.1 function
f52985 Jul 22, 2025
41ca9cb
Make testpromote
f52985 Jul 22, 2025
a376c2e
Remove redundant binding for IterE
f52985 Jul 22, 2025
391e73a
Wasm 2.0 spec fixes - adjusting partial hints where needed, and fixin…
DCupello1 Jul 22, 2025
f3fd475
change inv_jsize to not use inv_isize, and made opt_ partial
DCupello1 Jul 22, 2025
404b4bc
Wasm 2.0 spec fixes - non-exhaustive pattern matching
rossberg Jul 22, 2025
b42dae9
Remove manual prose for module instantiation
rossberg Jul 23, 2025
454c446
[test] Move exception tests to their own dirs and activate bulk64 tes…
rossberg Jul 24, 2025
c840c58
[interpreter] Add wast locations to JS-converted test cases (#1919)
dschuff Jul 25, 2025
825da83
Order instructions consistently
rossberg Jul 25, 2025
7ddfe8f
[spec] Fix field renaming inconsistency (#1952)
merkw42 Jul 25, 2025
d686d88
Fix test expect
rossberg Jul 25, 2025
cfc0fc0
Implement abbrev grammar syntax; module-level abbreviations
rossberg Jul 29, 2025
056030c
Modules text format
rossberg Jul 29, 2025
4048666
Test expect
rossberg Jul 29, 2025
d1f8edb
[test] Test implicit type use vs rec type
rossberg Jul 30, 2025
0686eb6
--amend
rossberg Jul 30, 2025
9a07512
Minor tweaks
rossberg Jul 30, 2025
46cfb88
Remaining text todos
rossberg Jul 30, 2025
45a9e66
Unroll loop in allocmodule
f52985 Jul 31, 2025
a960d62
Add new auxiliary function: is_packtype
f52985 Jul 31, 2025
786191a
Remove type for rendering RelS
f52985 Aug 4, 2025
99587f6
Merge option iters and IsDefinedE
f52985 Aug 5, 2025
53e89d1
SpecTec text format: lexical, values
rossberg Aug 5, 2025
5297b1a
Port Text conventions to SpecTec
rossberg Aug 5, 2025
d8c2a19
Port text format for types ot SpecTec
rossberg Aug 5, 2025
aca2689
Expand iters into loop
f52985 Aug 6, 2025
7d78a8a
Simplify record access
f52985 Aug 6, 2025
51f3b33
Refactor
f52985 Aug 7, 2025
a30df87
Typeset context variables
f52985 Aug 7, 2025
6b2a1aa
Refactor GetCurContextE
f52985 Aug 7, 2025
7cac282
Refactor introducing frame variable
f52985 Aug 8, 2025
6bb156b
Refactor prose render
f52985 Aug 8, 2025
dfe6828
Remove dead pop && push of frame
f52985 Aug 8, 2025
96b726f
Remove unnecessary variable binding during popping a context
f52985 Aug 11, 2025
4ecd723
Rename duplicated frame variables
f52985 Aug 11, 2025
4217d9a
Make error message more explicit for inconsistent use of reduction rules
f52985 Aug 19, 2025
fffc6e1
[simd] Add additional test input for i32x4.dot_i16x8_s (#1955)
titzer Aug 28, 2025
71e467f
Remove obsolete OptV from CALL_REF / RETURN_CALL_REF
f52985 Aug 29, 2025
91aeeae
Err on duplicate secondary names
rossberg Sep 2, 2025
6797f63
Fix build
rossberg Sep 2, 2025
adfb376
Prevent assertion failure in Dim
rossberg Sep 3, 2025
698f9ac
Bar BOT-typed locals in 2.0
rossberg Sep 8, 2025
11f7c49
Fix bug in IL reduction
rossberg Sep 8, 2025
177ae45
Fix typo in
rossberg Sep 9, 2025
2dc4129
A few layout tweaks
rossberg Sep 10, 2025
9f15cf8
Upgrade to MathJax 4 and use \allowbreak
rossberg Sep 10, 2025
a3c0101
Test expect
rossberg Sep 10, 2025
87a61ac
Separate tests for memory-related proposals into directories/files (#…
dschuff Sep 10, 2025
50774b5
[js-api] Use "matches" for exnref checks for clarity (#1912)
bvisness Sep 11, 2025
a8f94ea
Merge js-string-builtins into wasm-3.0 (#1943)
eqrion Sep 11, 2025
89e549c
[js-api] Update for resizable buffer integration (#1961)
eqrion Sep 11, 2025
3ce97ad
[js-api] Editorial: fix cross-references (#1962)
Ms2ger Sep 11, 2025
05e2fc9
Fix Web API document title
dschuff Sep 13, 2025
9aa45e8
Merge branch 'main' into wasm-3.0
rossberg Sep 16, 2025
201e8f8
Merge branch 'upstream'
rossberg Sep 16, 2025
cee9794
Test expects
rossberg Sep 16, 2025
ee46173
Remove Draft
rossberg Sep 17, 2025
9fdd94b
Revert limits max to option
rossberg Sep 17, 2025
5f8435f
Merge branch 'upstream-spectec' into wasm-3.0+spectec
rossberg Sep 17, 2025
80b7da4
Fix doc
rossberg Sep 17, 2025
c458250
Merge branch 'upstream-spectec' into wasm-3.0+spectec
rossberg Sep 17, 2025
7a510ff
Fix escape
rossberg Sep 17, 2025
e466201
Merge branch 'upstream-spectec' into wasm-3.0+spectec
rossberg Sep 17, 2025
19ed4ee
[ci] Reactivate Bikeshed
rossberg Sep 17, 2025
b2ce46d
[website] Fix typo (#1970)
tomayac Sep 18, 2025
0ee5964
[bikeshed] Build Katex outside _spectec dir
rossberg Sep 18, 2025
749f6a2
Try something else
rossberg Sep 18, 2025
085345c
Another attempt
rossberg Sep 18, 2025
7e36d0d
Another attempt
rossberg Sep 18, 2025
e21d75c
Typo in command
rossberg Sep 18, 2025
fe34811
[spec] Turn off semantic enrichment for now
rossberg Sep 19, 2025
075af24
[katex] ignore multicolumn
rossberg Sep 19, 2025
8dcaae1
Fix substitution
rossberg Sep 19, 2025
f4f60ca
[bikeshed] Getting desparate
rossberg Sep 19, 2025
e7fdd00
Attempt at debugging
rossberg Sep 19, 2025
9ea2c07
Fix regexp
rossberg Sep 19, 2025
c449377
Fix regexp?
rossberg Sep 19, 2025
08e1036
Readjust README (#1973)
Ms2ger Sep 19, 2025
b905df8
Experiment with hack
rossberg Sep 19, 2025
705a702
[web-api] add missing default arguments (#1969)
autokagami Sep 19, 2025
d7aada5
Update testharness.js from upstream.
Ms2ger Aug 21, 2025
3f70cb9
Separate out remaining memory 64 tests into proposal directory (#1978)
CharlieTap Sep 19, 2025
e9030b0
[spectec] Fix rendering of flattened sequences
rossberg Sep 19, 2025
078e0ee
[spectec] Revert dots to infix
rossberg Sep 19, 2025
11eb34c
Temporarily turn off Bikeshed again to enable updates
rossberg Sep 19, 2025
80f32d6
[bikeshed] Fix Python syntax bug in bikeshed_fixup script
rossberg Sep 19, 2025
32e4ebf
Tweak Makefile
rossberg Sep 20, 2025
824c7ef
Debug output for multicolumn
rossberg Sep 20, 2025
9043080
Tweak re pattern
rossberg Sep 20, 2025
e01ace5
[ci] Remove unnecessary dependency
rossberg Sep 20, 2025
fb97b8c
[ci] Reactivate CRD push
rossberg Sep 20, 2025
de48f5a
[spec] Fix typo
rossberg Sep 23, 2025
fcb305c
[ci] Fix W3C publish build
rossberg Sep 23, 2025
74e9939
Fix number twist
rossberg Sep 23, 2025
2b615cc
[ci] Work around failures
rossberg Sep 23, 2025
eb11246
[ci] Setup environment correctly
rossberg Sep 23, 2025
7b51e07
[ci] opam options
rossberg Sep 23, 2025
741d6b4
[spectec] Fix prose rendering of NotOp ContextKindE (#1974)
Alan-Liang Sep 24, 2025
3233abc
[spec] Fix naming typo
rossberg Sep 25, 2025
67ffb5d
[website] Update last 3.0 draft
rossberg Sep 26, 2025
9d36019
[website] Update last version of 2.0 doc
rossberg Sep 26, 2025
99cde9f
Update testharness.js from upstream. (#1976)
Ms2ger Sep 26, 2025
c92c9ae
[interpreter] Fix JS conversion in assertions (#1989)
dschuff Sep 29, 2025
a756f17
[ci] Attempt to reactivate Node test run
rossberg Sep 29, 2025
e1ce468
Revert "[ci] Attempt to reactivate Node test run"
rossberg Sep 29, 2025
6578dac
[ci] Attempt to reactivate Node with v24
rossberg Sep 29, 2025
10aef0c
[ci] Attempt to reactivate Node with v25-nightly
rossberg Sep 29, 2025
fdd09f9
[interpreter] Correctly filter noexn as non-JS type
rossberg Sep 29, 2025
caa9363
[ci] Try to use SpiderMonkey JS shell for tests
rossberg Sep 29, 2025
2f844b0
[ci] Fix path to JS shell
rossberg Sep 29, 2025
485bbd9
[ci] Disable JS tests again
rossberg Sep 30, 2025
74d752f
Port text format for instructions
rossberg Oct 1, 2025
758b7cf
[spec] Fix typos (#1994)
alessiofaieta Oct 1, 2025
72b8361
[spec] Make implicit mapping of all_true op work
rossberg Oct 1, 2025
9afe68b
[spec] Clean up
rossberg Oct 1, 2025
26b39e1
[spec] Fix memarg (#1988)
rossberg Oct 1, 2025
cc8a6a3
Text format for modules
rossberg Oct 2, 2025
e920cee
Merge branch 'upstream'
rossberg Oct 2, 2025
5cf8e64
Fix tt again
rossberg Oct 2, 2025
f196249
Fix xrefs
rossberg Oct 2, 2025
c578a1c
Merge branch 'upstream-spectec'
rossberg Oct 2, 2025
b5aadb9
[bikeshed] Replace texttt with tt
rossberg Oct 2, 2025
550d52a
[bikeshed] More trying
rossberg Oct 2, 2025
9862418
[bikeshed] More trying 2
rossberg Oct 2, 2025
2296482
[bikeshed] More trying 3
rossberg Oct 2, 2025
7071edc
[spectec] Fix test expects
rossberg Oct 2, 2025
73f69fa
[spec] Remove obsolete invoke admin instruction
rossberg Oct 3, 2025
2246e8b
[spec] Add missing formal Valtype_ok/bot rule
rossberg Oct 3, 2025
8e4f613
[test] Add more array.fill cases (#1998)
XeniaLu Oct 3, 2025
db886b8
[spec] Unbreak all_true again
rossberg Oct 3, 2025
254730a
[test] Adjust spectec expectations after new tests
rossberg Oct 3, 2025
cb97007
Override W3C_STATUS Makefile var when building specs for Echidna (#2000)
dschuff Oct 6, 2025
b5fee57
[spec] Fix various typos (#2004)
alessiofaieta Oct 8, 2025
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
c6b743b
[spec] Fix Katex hacks 3
rossberg 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
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
acb9202
[spec] Fix binary code of `noexn` in appendix (#2022)
q82419 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
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
4e314da
[spec] Add missing syntax for idx
rossberg Nov 14, 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
851ecb5
Merge Wasm 3.0 and SpecTec
fitzgen Nov 21, 2025
a1c064e
Disable SpecTec tests in CI; they run the spec interpreter on spec tests
fitzgen Nov 21, 2025
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
  •  
  •  
  •  
25 changes: 15 additions & 10 deletions .github/workflows/ci-interpreter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ name: CI for interpreter & tests

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

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

# Allows you to run this workflow manually from the Actions tab
Expand All @@ -17,22 +17,27 @@ 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.12.x
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@v2
with:
node-version: 19.x
- name: Build interpreter
run: cd interpreter && opam exec make

# XXX: Disable the tests until the spec interpreter has been updated for
# the custom-page-sizes proposal.
#
# # 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
# run: cd interpreter && opam exec make JS=node 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: 119 additions & 20 deletions .github/workflows/ci-spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ name: CI for specs

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

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

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand All @@ -17,25 +17,33 @@ jobs:
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@v3
with:
ocaml-compiler: 4.14.x
- name: Setup Dune
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 && 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@v2
uses: actions/upload-artifact@v4
with:
name: core-rendered
path: document/core/_build/html
Expand All @@ -44,13 +52,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 @@ -59,43 +67,134 @@ 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:
- 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 }}
36 changes: 36 additions & 0 deletions .github/workflows/ci-spectec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
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: 4.14.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

# XXX: These tests run the spec interpreter on the spec test suite, but we
# haven't added support for custom page sizes to the spec interpreter yet.
#
# - 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