Skip to content

Commit 3e82df4

Browse files
committed
Merge remote-tracking branch 'spec/main'
2 parents 0998be5 + 254730a commit 3e82df4

File tree

1,000 files changed

+443399
-18214
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,000 files changed

+443399
-18214
lines changed

.github/workflows/ci-interpreter.yml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ name: CI for interpreter & tests
22

33
on:
44
push:
5-
branches: [ main ]
5+
branches: [ main, wasm-3.0 ]
66
paths: [ .github/**, interpreter/**, test/** ]
77

88
pull_request:
9-
branches: [ main ]
9+
branches: [ main, wasm-3.0 ]
1010
paths: [ .github/**, interpreter/**, test/** ]
1111

1212
# Allows you to run this workflow manually from the Actions tab
@@ -24,11 +24,16 @@ jobs:
2424
ocaml-compiler: 4.14.x
2525
- name: Setup OCaml tools
2626
run: opam install --yes ocamlfind.1.9.5 js_of_ocaml.4.0.0 js_of_ocaml-ppx.4.0.0
27-
- name: Setup Node.js
28-
uses: actions/setup-node@v4
29-
with:
30-
node-version: 19.x
3127
- name: Build interpreter
3228
run: cd interpreter && opam exec make
29+
# Neither V8 nor SpiderMonkey can currently handle all 3.0 tests, so we disable checking JS translation for now.
30+
#- name: Setup Node.js
31+
# uses: actions/setup-node@v4
32+
# with:
33+
# node-version: 25-nightly
34+
#- name: Setup SpiderMonkey
35+
# run: curl -O https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/jsshell-linux-x86_64.zip && unzip jsshell-linux-x86_64.zip
3336
- name: Run tests
34-
run: cd interpreter && opam exec make JS=node ci
37+
run: cd interpreter && opam exec make ci # don't test JS translation
38+
# run: cd interpreter && opam exec make JS=node ci # test with V8
39+
# run: cd interpreter && opam exec make JS=../js ci # test with SM

.github/workflows/ci-spec.yml

Lines changed: 91 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ name: CI for specs
22

33
on:
44
push:
5-
branches: [ main ]
6-
paths: [ .github/**, document/** ]
5+
branches: [ main, wasm-3.0 ]
6+
paths: [ .github/**, document/**, spectec/** ]
77

88
pull_request:
9-
branches: [ main ]
10-
paths: [ .github/**, document/** ]
9+
branches: [ main, wasm-3.0 ]
10+
paths: [ .github/**, document/**, spectec/** ]
1111

1212
# Allows you to run this workflow manually from the Actions tab
1313
workflow_dispatch:
@@ -20,6 +20,12 @@ jobs:
2020
uses: actions/checkout@v4
2121
with:
2222
submodules: "recursive"
23+
- name: Setup OCaml
24+
uses: ocaml/setup-ocaml@v3
25+
with:
26+
ocaml-compiler: 4.14.x
27+
- name: Setup Dune
28+
run: opam install --yes dune menhir mdx zarith && opam exec dune --version
2329
- name: Setup Node.js
2430
uses: actions/setup-node@v4
2531
with:
@@ -29,11 +35,13 @@ jobs:
2935
- name: Setup TexLive
3036
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
3137
- name: Setup Sphinx
32-
run: pip install six && pip install sphinx==5.1.0
38+
run: pip install six && pip install sphinx==8.1.3
39+
- name: Build SpecTec
40+
run: cd spectec && opam exec make
3341
- name: Build main spec
34-
run: cd document/core && make main
42+
run: cd document/core && opam exec make main
3543
- name: Run Bikeshed
36-
run: cd document/core && make bikeshed
44+
run: cd document/core && opam exec make bikeshed
3745
- name: Upload artifact
3846
uses: actions/upload-artifact@v4
3947
with:
@@ -70,6 +78,59 @@ jobs:
7078
name: web-api-rendered
7179
path: document/web-api/index.html
7280

81+
build-code-metadata-spec:
82+
runs-on: ubuntu-latest
83+
steps:
84+
- name: Checkout repo
85+
uses: actions/checkout@v4
86+
with:
87+
submodules: "recursive"
88+
- name: Setup TexLive
89+
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
90+
- name: Setup Sphinx
91+
run: pip install six && pip install sphinx==8.1.3
92+
- name: Build main spec
93+
run: cd document/metadata/code && make main
94+
- name: Upload artifact
95+
uses: actions/upload-artifact@v4
96+
with:
97+
name: code-metadata-rendered
98+
path: document/metadata/code/_build/html
99+
100+
build-legacy-exceptions-core-spec:
101+
runs-on: ubuntu-latest
102+
steps:
103+
- name: Checkout repo
104+
uses: actions/checkout@v4
105+
with:
106+
submodules: "recursive"
107+
- name: Setup TexLive
108+
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
109+
- name: Setup Sphinx
110+
run: pip install six && pip install sphinx==8.1.3
111+
- name: Build main spec
112+
run: cd document/legacy/exceptions/core && make main
113+
- name: Upload artifact
114+
uses: actions/upload-artifact@v4
115+
with:
116+
name: legacy-exceptions-core-rendered
117+
path: document/legacy/exceptions/core/_build/html
118+
119+
build-legacy-exceptions-js-api-spec:
120+
runs-on: ubuntu-latest
121+
steps:
122+
- name: Checkout repo
123+
uses: actions/checkout@v4
124+
- name: Setup Bikeshed
125+
run: pip install bikeshed && bikeshed update
126+
- name: Run Bikeshed
127+
run: bikeshed spec "document/legacy/exceptions/js-api/index.bs" "document/legacy/exceptions/js-api/index.html"
128+
- name: Upload artifact
129+
uses: actions/upload-artifact@v4
130+
with:
131+
name: legacy-exceptions-js-api-rendered
132+
path: document/legacy/exceptions/js-api/index.html
133+
73134
build-spec-versions:
74135
runs-on: ubuntu-latest
75136
steps:
@@ -83,7 +144,14 @@ jobs:
83144

84145
publish-spec:
85146
runs-on: ubuntu-latest
86-
needs: [build-core-spec, build-js-api-spec, build-web-api-spec, build-spec-versions]
147+
needs:
148+
- build-core-spec
149+
- build-js-api-spec
150+
- build-web-api-spec
151+
- build-code-metadata-spec
152+
- build-legacy-exceptions-core-spec
153+
- build-legacy-exceptions-js-api-spec
154+
- build-spec-versions
87155
steps:
88156
- name: Checkout repo
89157
uses: actions/checkout@v4
@@ -104,6 +172,21 @@ jobs:
104172
with:
105173
name: web-api-rendered
106174
path: _output/web-api
175+
- name: Download code metadata spec artifact
176+
uses: actions/download-artifact@v4
177+
with:
178+
name: code-metadata-rendered
179+
path: _output/metadata/code
180+
- name: Download legacy exceptions core spec artifact
181+
uses: actions/download-artifact@v4
182+
with:
183+
name: legacy-exceptions-core-rendered
184+
path: _output/legacy/exceptions/core
185+
- name: Download legacy exceptions JS API spec artifact
186+
uses: actions/download-artifact@v4
187+
with:
188+
name: legacy-exceptions-js-api-rendered
189+
path: _output/legacy/exceptions/js-api
107190
- name: Download spec versions artifacts
108191
uses: actions/download-artifact@v4
109192
with:

.github/workflows/ci-spectec.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: CI for spectec
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
paths: [ spectec/**, document/** ]
7+
8+
pull_request:
9+
branches: [ main ]
10+
paths: [ spectec/**, document/** ]
11+
12+
# Allows you to run this workflow manually from the Actions tab
13+
workflow_dispatch:
14+
15+
jobs:
16+
spec-tec:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout repo
20+
uses: actions/checkout@v4
21+
- name: Setup OCaml
22+
uses: ocaml/setup-ocaml@v3
23+
with:
24+
ocaml-compiler: 4.14.x
25+
- name: Setup Dune
26+
run: opam install --yes dune menhir mdx zarith
27+
- name: Setup Latex
28+
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
29+
- name: Setup Sphinx
30+
run: pip install six && pip install sphinx==8.1.3
31+
- name: Build and test
32+
run: cd spectec && opam exec make ci

.github/workflows/w3c-publish.yml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ name: Validate/Publish to W3C TR space
22

33
on:
44
push:
5+
# Disable on forks!
56
branches: [ main ]
67
paths: [ .github/**, document/** ]
78
pull_request:
@@ -45,6 +46,13 @@ jobs:
4546
uses: actions/checkout@v4
4647
with:
4748
submodules: "recursive"
49+
- name: Setup OCaml
50+
uses: ocaml/setup-ocaml@v3
51+
with:
52+
ocaml-compiler: 4.14.x
53+
- name: Setup Dune
54+
if: ${{ matrix.spec == 'core' }}
55+
run: opam install --yes dune menhir mdx zarith && opam exec dune --version
4856
- name: Setup Node.js
4957
uses: actions/setup-node@v4
5058
with:
@@ -56,10 +64,13 @@ jobs:
5664
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
5765
- name: Setup Sphinx
5866
if: ${{ matrix.spec == 'core' }}
59-
run: pip install six && pip install sphinx==5.1.0
67+
run: pip install six && pip install sphinx==8.1.3
68+
- name: Build SpecTec
69+
if: ${{ matrix.spec == 'core' }}
70+
run: cd spectec && opam exec make
6071
- name: Publish ${{ matrix.spec }} spec to its https://www.w3.org/TR/ URL
6172
if: env.W3C_ECHIDNA_TOKEN_CORE
62-
run: cd document && make -e -C ${{ matrix.spec }} WD-echidna-CI
73+
run: cd document/${{ matrix.spec }} && opam exec make WD-echidna-CI
6374
env:
6475
W3C_ECHIDNA_TOKEN_CORE: ${{ secrets.W3C_ECHIDNA_TOKEN_CORE }}
6576
W3C_ECHIDNA_TOKEN_JSAPI: ${{ secrets.W3C_ECHIDNA_TOKEN_JSAPI }}
@@ -70,7 +81,7 @@ jobs:
7081
(github.event_name == 'push' && github.repository == 'WebAssembly/spec' && github.ref == 'refs/heads/main')) }}
7182
- name: Validate ${{ matrix.spec }} spec with Echidna
7283
if: env.W3C_USERNAME
73-
run: cd document && make -e -C ${{ matrix.spec }} WD-echidna
84+
run: cd document/${{ matrix.spec }} && opam exec make WD-echidna
7485
env:
7586
W3C_USERNAME: ${{ secrets.W3C_USERNAME }}
7687
W3C_PASSWORD: ${{ secrets.W3C_PASSWORD }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
**/*.pyc
44
**/_build
55
**/_output
6+
*.swp

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
![Spectec Status](https://github.com/WebAssembly/spec/actions/workflows/ci-spectec.yml/badge.svg)
2+
![Interpreter Status](https://github.com/WebAssembly/spec/actions/workflows/ci-interpreter.yml/badge.svg)
3+
![Spec doc Status](https://github.com/WebAssembly/spec/actions/workflows/ci-spec.yml/badge.svg)
4+
15
[![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)
26
[![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)
37

@@ -13,10 +17,8 @@ Original README from upstream repository follows...
1317

1418
# spec
1519

16-
This repository holds the sources for the WebAssembly draft specification
17-
(to seed a future
18-
[WebAssembly Working Group](https://lists.w3.org/Archives/Public/public-new-work/2017Jun/0005.html)),
19-
a reference implementation, and the official testsuite.
20+
This repository holds the sources for the WebAssembly specification,
21+
a reference implementation, and the official test suite.
2022

2123
A formatted version of the spec is available here:
2224
[webassembly.github.io/spec](https://webassembly.github.io/spec/),

document/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
DIRS = js-api web-api core versions
1+
DIRS = core js-api web-api metadata/code legacy/exceptions versions
22
FILES = index.html
33
BUILDDIR = _build
44
TAR = tar

document/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ pipenv shell
4242
Install Python dependencies:
4343

4444
```
45-
pipenv install Sphinx==4.0.0 six
45+
pipenv install Sphinx==8.1.3 six
4646
```
4747

4848
### Checking out the repository

document/core/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
_build
22
_static
3+
_spectec
34
document/*.pyc

0 commit comments

Comments
 (0)