Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream main branch #23

Merged
merged 44 commits into from
Oct 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
c0b3a9c
Add Implementation Report metadata (#1783)
dschuff Aug 16, 2024
55aaa6b
[test] Add a few more mixed-type floating-point expression tests (#1785)
sunfishcode Aug 19, 2024
5f7ae48
[test] Add more tests for sqrt (#1786)
sunfishcode Aug 19, 2024
fffad73
Update Makefiles for easier generation of different document status
dschuff Aug 21, 2024
ab41b88
Add Implementation Report fields to metadata for JS and Web API specs
dschuff Aug 21, 2024
ee82c8e
Add input for workflow dispatch for W3C publish workflow (#1791)
dschuff Aug 22, 2024
71755b3
[test] Add tests ensuring table type is grown in `table.grow` (#1784)
dzfrias Aug 28, 2024
1c238ab
Update DECISION_URL for Wasm 2.0 CR advancement (#1794)
dschuff Aug 30, 2024
1726692
Generate deadline and pass to bikeshed as metadata (#1795)
dschuff Sep 3, 2024
a6a6b9a
[ci] Bump uplooad/download-artifact to v4 (#1798)
rossberg Sep 4, 2024
4e722fb
[test] Data count without data segment (#1801)
SoniEx2 Sep 12, 2024
7ff01f5
[test] Redundant data count section
rossberg Sep 12, 2024
5042950
Update W3C TR build from WD to CRD (#1797)
dschuff Sep 13, 2024
8f4ae91
[spec] Bump copyright date
rossberg Sep 13, 2024
836b00e
Make builds of old spec versions available
rossberg Sep 13, 2024
51eb50b
[web] Tweaks
rossberg Sep 13, 2024
10a4565
[ci] Add dummy targets for WD-echidna CI
rossberg Sep 13, 2024
8a0d086
[web] Fix links
rossberg Sep 13, 2024
bdd94d2
[ci] Add action to actually upload docs
rossberg Sep 13, 2024
06c3624
[ci] Fix syntax
rossberg Sep 13, 2024
244c6f1
[ci] Missing dependency
rossberg Sep 13, 2024
cc7bb73
[web] Add build date
rossberg Sep 13, 2024
c7c038d
Update document status input for W3C publishing to a choice value (#1…
dschuff Sep 13, 2024
04a39c5
[spec] Add missing i32x4.extadd_pairwise_i16x8_u instruction to text …
rossberg Sep 21, 2024
670ae7e
[spec] Tweak format of changes list
rossberg Sep 21, 2024
87536c8
[versions] Update 3.0 draft
rossberg Sep 21, 2024
60af1b0
[versions] Update 3.0 draft
rossberg Sep 26, 2024
7995c92
Update IANA media type registration section in Web API
dschuff Sep 28, 2024
31418f6
Update bikeshed_fixup to number the Change History section
dschuff Sep 28, 2024
15eb918
Revert "Update W3C TR build from WD to CRD (#1797)" (#1813)
dschuff Sep 30, 2024
a700617
Add introduction sections to JS API and Web API documents (#1814)
dschuff Sep 30, 2024
d5f5868
Add Changelog sections for JS and Web API documents (#1817)
dschuff Oct 2, 2024
97c2d67
Fix validation errors in changelog (#1819)
dschuff Oct 3, 2024
12bf474
close dl tag to fix web API validation (#1820)
dschuff Oct 3, 2024
f1e8a19
Add a minimal Security and Privacy Considerations section to Web API …
dschuff Oct 3, 2024
8012c48
Remove redundant runs of bikeshed from the JS/Web Makefiles' tar targets
dschuff Oct 3, 2024
924c1f8
[test] More tests for ill-typed call indirect (#1822)
RaoNikitha Oct 4, 2024
2d480da
Check Echidna publishing results for failure or success (#1821)
dschuff Oct 4, 2024
535bedf
[ci] Use build matrix to run W3C spec builds independently (#1825)
dschuff Oct 6, 2024
c0aeee7
Escape latex newline commands with extra vertical space (#1826)
dschuff Oct 6, 2024
b5c848b
Remove some unneeded bikeshed fixup hacks (#1824)
dschuff Oct 6, 2024
9c69d19
[js-api] Fix up missing preconditions on allocations (#1793)
bvisness Oct 7, 2024
85a7ccb
[ci] Update CI action versions (#1827)
rossberg Oct 7, 2024
260c687
Merge remote-tracking branch 'spec/main'
alexcrichton Oct 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci-interpreter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ 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
uses: actions/setup-node@v4
with:
node-version: 19.x
- name: Build interpreter
Expand Down
42 changes: 29 additions & 13 deletions .github/workflows/ci-spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 16
- name: Setup Bikeshed
Expand All @@ -35,7 +35,7 @@ jobs:
- name: Run Bikeshed
run: cd document/core && 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 +44,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 +59,59 @@ 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-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-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 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 }}
50 changes: 41 additions & 9 deletions .github/workflows/w3c-publish.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,69 @@
name: Publish to W3C TR space
name: Validate/Publish to W3C TR space

on:
push:
branches: [ main ]
paths: [ .github/**, document/** ]
pull_request:
paths: [ .github/**, document/** ]

# Allows you to run this workflow manually from the Actions tab
# Allows you to run this workflow manually from the Actions tab, gh CLI tool,
# or REST API. THe w3c-status options correspond to the valid options for
# Bikeshed's --md-status flag, and refer to the W3C rec-track document
# stages described in https://www.w3.org/policies/process/#maturity-stages
# (Editor's Draft, Working Draft, Candidiate Recommendation Draft, and
# Candidate Recommendation Snapshot).
workflow_dispatch:
inputs:
w3c-status:
required: true
type: choice
description: W3C Document Status
options:
- ED
- WD
- CRD
- CR

env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
W3C_STATUS: ${{ github.event_name == 'workflow_dispatch' && inputs.w3c-status || 'WD' }}

jobs:
publish-to-w3c-TR:
if: github.repository == 'WebAssembly/spec'
strategy:
fail-fast: false
matrix:
spec: [core, js-api, web-api]
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: "recursive"
- 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
if: ${{ matrix.spec == 'core' }}
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
- name: Setup Sphinx
if: ${{ matrix.spec == 'core' }}
run: pip install six && pip install sphinx==5.1.0
- name: Publish all specs to their https://www.w3.org/TR/ URLs
run: cd document && make -e WD-echidna-CI
- name: Publish ${{ matrix.spec }} spec to its https://www.w3.org/TR/ URL
if: env.W3C_ECHIDNA_TOKEN_CORE
run: cd document && make -e -C ${{ matrix.spec }} WD-echidna-CI
env:
STATUS: --md-status=WD
W3C_ECHIDNA_TOKEN_CORE: ${{ secrets.W3C_ECHIDNA_TOKEN_CORE }}
W3C_ECHIDNA_TOKEN_JSAPI: ${{ secrets.W3C_ECHIDNA_TOKEN_JSAPI }}
W3C_ECHIDNA_TOKEN_WEBAPI: ${{ secrets.W3C_ECHIDNA_TOKEN_WEBAPI }}
YARN_ENABLE_IMMUTABLE_INSTALLS: false
ECHIDNA_DRYRUN: ${{ !(github.event_name == 'push' && github.repository == 'WebAssembly/spec' && github.ref == 'refs/heads/main') }}
- name: Validate ${{ matrix.spec }} spec with Echidna
if: env.W3C_USERNAME
run: cd document && make -e -C ${{ matrix.spec }} WD-echidna
env:
W3C_USERNAME: ${{ secrets.W3C_USERNAME }}
W3C_PASSWORD: ${{ secrets.W3C_PASSWORD }}
16 changes: 8 additions & 8 deletions document/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
DIRS = js-api web-api core
DIRS = js-api web-api core versions
FILES = index.html
BUILDDIR = _build
TAR = tar
Expand Down Expand Up @@ -28,21 +28,21 @@ diff: $(DIRS:%=diff-%)
# macOS: do “brew install tar” & run “make” as: TAR=gtar make -e WD-tar
.PHONY: WD-tar
WD-tar:
for dir in $(DIRS); \
do STATUS=--md-status=WD TAR=$(TAR) $(MAKE) -e -C $$dir $@;\
for dir in $(DIRS); do \
TAR=$(TAR) $(MAKE) -e -C $$dir $@ || exit 1; \
done

# macOS: do “brew install tar” & run “make” as: TAR=gtar make -e WD-echidna
.PHONY: WD-echidna
WD-echidna:
for dir in $(DIRS); \
do $(MAKE) -e -C $$dir $@;\
for dir in $(DIRS); do \
$(MAKE) -e -C $$dir $@ || exit 1; \
done

.PHONY: WD-echidna-CI
WD-echidna-CI:
for dir in $(DIRS); \
do $(MAKE) -e -C $$dir $@;\
for dir in $(DIRS); do \
$(MAKE) -e -C $$dir $@ || exit 1; \
done

# Directory-specific targets.
Expand All @@ -60,7 +60,7 @@ $(DIRS:%=build-%): build-%:
(cd $(@:build-%=%); make BUILDDIR=$(BUILDDIR) all)

.PHONY: $(DIRS:%=dir-%)
$(DIRS:%=dir-%): dir-%:
$(DIRS:%=dir-%): dir-%: $(BUILDDIR)
mkdir -p $(BUILDDIR)/$(@:dir-%=%)
rm -rf $(BUILDDIR)/$(@:dir-%=%)/*
cp -R $(@:dir-%=%)/$(BUILDDIR)/html/* $(BUILDDIR)/$(@:dir-%=%)/
Expand Down
19 changes: 13 additions & 6 deletions document/core/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,18 @@
#

# You can set these variables from the command line.
W3C_STATUS = ED
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER = a4
BUILDDIR = _build
STATICDIR = _static
DOWNLOADDIR = _download
NAME = WebAssembly
DECISION_URL = https://github.com/WebAssembly/meetings/blob/main/main/2017/WG-12-06.md
DECISION_URL = https://github.com/WebAssembly/meetings/blob/main/main/2024/WG-06-12.md
TAR = tar
DEADLINE = $(shell date -d "+30 days" +%Y-%m-%d 2>/dev/null || date -v +30d +%Y-%m-%d)
ECHIDNA_DRYRUN = true

# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
Expand Down Expand Up @@ -154,7 +157,7 @@ bikeshed: $(GENERATED)
@echo
@echo =========================================================================
mkdir -p $(BUILDDIR)/bikeshed_mathjax/
bikeshed spec $(STATUS) index.bs $(BUILDDIR)/bikeshed_mathjax/index.html
bikeshed spec --md-status=$(W3C_STATUS) --md-deadline=$(DEADLINE) index.bs $(BUILDDIR)/bikeshed_mathjax/index.html
mkdir -p $(BUILDDIR)/html/bikeshed/
(cd util/katex/ && yarn && yarn build && npm install --only=prod)
python3 util/mathjax2katex.py $(BUILDDIR)/bikeshed_mathjax/index.html \
Expand Down Expand Up @@ -194,9 +197,11 @@ WD-echidna: WD-tar
curl 'https://labs.w3.org/echidna/api/request' \
--user '$(W3C_USERNAME):$(W3C_PASSWORD)' \
-F "tar=@$(BUILDDIR)/WD.tar" \
-F "decision=$(DECISION_URL)" | tee $(BUILDDIR)/WD-echidna-id.txt
-F "decision=$(DECISION_URL)" \
-F "dry-run=$(ECHIDNA_DRYRUN)" | tee $(BUILDDIR)/WD-echidna-id.txt
python3 ../util/check-echidna-status.py $(BUILDDIR)
@echo
@echo "Published working draft. Check its status at https://labs.w3.org/echidna/api/status?id=`cat $(BUILDDIR)/WD-echidna-id.txt`"
@echo "Uploaded $(W3C_STATUS). Check its status at https://labs.w3.org/echidna/api/status?id=`cat $(BUILDDIR)/WD-echidna-id.txt`"

.PHONY: WD-echidna-CI
WD-echidna-CI: WD-tar
Expand All @@ -208,9 +213,11 @@ WD-echidna-CI: WD-tar
curl 'https://labs.w3.org/echidna/api/request' \
-F "tar=@$(BUILDDIR)/WD.tar" \
-F "token=$(W3C_ECHIDNA_TOKEN_CORE)" \
-F "decision=$(DECISION_URL)" | tee $(BUILDDIR)/WD-echidna-id.txt
-F "decision=$(DECISION_URL)" \
-F "dry-run=$(ECHIDNA_DRYRUN)" | tee $(BUILDDIR)/WD-echidna-id.txt
python3 ../util/check-echidna-status.py $(BUILDDIR)
@echo
@echo "Published working draft. Check its status at https://labs.w3.org/echidna/api/status?id=`cat $(BUILDDIR)/WD-echidna-id.txt`"
@echo "Uploaded $(W3C_STATUS). Check its status at https://labs.w3.org/echidna/api/status?id=`cat $(BUILDDIR)/WD-echidna-id.txt`"

.PHONY: diff
diff: bikeshed
Expand Down
Loading