Skip to content

Commit

Permalink
Merge pull request #139 from ngzhian/merge-upstream
Browse files Browse the repository at this point in the history
Merge from upstream spec
  • Loading branch information
ngzhian authored Mar 22, 2023
2 parents c4c9dda + b90afb8 commit ba2d5eb
Show file tree
Hide file tree
Showing 15 changed files with 230 additions and 775 deletions.
34 changes: 34 additions & 0 deletions .github/workflows/ci-interpreter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: CI for interpreter & tests

on:
push:
branches: [ main ]
paths: [ interpreter/**, test/** ]

pull_request:
branches: [ main ]
paths: [ interpreter/**, test/** ]

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

jobs:
interpreter:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup OCaml
uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: 4.12.x
- name: Setup OCaml tools
run: opam install --yes ocamlbuild.0.14.0 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
- name: Run tests
run: cd interpreter && opam exec make JS=node ci
101 changes: 101 additions & 0 deletions .github/workflows/ci-spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: CI for specs

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

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

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

jobs:
build-core-spec:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
submodules: "recursive"
- name: Setup Node.js
uses: actions/setup-node@v3
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
- name: Build main spec
run: cd document/core && make main
- name: Run Bikeshed
run: cd document/core && make bikeshed
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: core-rendered
path: document/core/_build/html

build-js-api-spec:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
- 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
with:
name: js-api-rendered
path: document/js-api/index.html

build-web-api-spec:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
- 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
with:
name: web-api-rendered
path: document/web-api/index.html

publish-spec:
runs-on: ubuntu-latest
needs: [build-core-spec, build-js-api-spec, build-web-api-spec]
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Create output directory
run: mkdir _output && cp document/index.html _output/index.html
- name: Download core spec artifact
uses: actions/download-artifact@v2
with:
name: core-rendered
path: _output/core
- name: Download JS API spec artifact
uses: actions/download-artifact@v2
with:
name: js-api-rendered
path: _output/js-api
- name: Download Web API spec artifact
uses: actions/download-artifact@v2
with:
name: web-api-rendered
path: _output/web-api
- name: Publish to GitHub Pages
if: github.ref == 'refs/heads/main'
uses: peaceiris/actions-gh-pages@v3
with:
publish_dir: ./_output
github_token: ${{ secrets.GITHUB_TOKEN }}
103 changes: 0 additions & 103 deletions .github/workflows/main.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
name: Mirror main branch to master branch

on:
push:
branches:
Expand All @@ -8,8 +10,7 @@ jobs:
runs-on: ubuntu-latest
name: Mirror main branch to master branch
steps:
- name: Mirror action step
id: mirror
- name: Mirror branch
uses: google/[email protected]
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
31 changes: 20 additions & 11 deletions document/core/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,14 @@ bikeshed-keep:
echo Downloaded Bikeshed.


.PHONY: index
index:
(cd appendix; ./gen-index-instructions.py)
GENERATED = appendix/index-instructions.rst
.INTERMEDIATE: $(GENERATED)

%.rst: %.py
(cd `dirname $@`; ./`basename $^`)

.PHONY: pdf
pdf: index latexpdf
pdf: $(GENERATED) latexpdf
mkdir -p $(BUILDDIR)/html/$(DOWNLOADDIR)
ln -f $(BUILDDIR)/latex/$(NAME).pdf $(BUILDDIR)/html/$(DOWNLOADDIR)/$(NAME).pdf

Expand All @@ -103,9 +105,10 @@ pdf: index latexpdf
clean:
rm -rf $(BUILDDIR)
rm -rf $(STATICDIR)
rm -f $(GENERATED)

.PHONY: html
html: index
html: $(GENERATED)
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
for file in `ls $(BUILDDIR)/html/*.html`; \
do \
Expand All @@ -121,28 +124,34 @@ html: index
@echo "Build finished. The HTML pages are in `pwd`/$(BUILDDIR)/html/."

.PHONY: dirhtml
dirhtml:
dirhtml: $(GENERATED)
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."

.PHONY: singlehtml
singlehtml:
singlehtml: $(GENERATED)
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."

.PHONY: bikeshed
bikeshed:
bikeshed: $(GENERATED)
$(SPHINXBUILD) -b singlehtml -c util/bikeshed \
$(ALLSPHINXOPTS) $(BUILDDIR)/bikeshed_singlehtml
python util/bikeshed_fixup.py $(BUILDDIR)/bikeshed_singlehtml/index.html \
python3 util/bikeshed_fixup.py $(BUILDDIR)/bikeshed_singlehtml/index.html \
>$(BUILDDIR)/bikeshed_singlehtml/index_fixed.html
@echo ==== Showing contents of _build/bikeshed_singlehtml/index_fixed.html ====
@head -n10 _build/bikeshed_singlehtml/index_fixed.html
@echo ... skipping $$(expr `cat _build/bikeshed_singlehtml/index_fixed.html | wc -l` - 20) lines ...
@tail -n10 _build/bikeshed_singlehtml/index_fixed.html
@echo
@echo =========================================================================
mkdir -p $(BUILDDIR)/bikeshed_mathjax/
bikeshed spec index.bs $(BUILDDIR)/bikeshed_mathjax/index.html
mkdir -p $(BUILDDIR)/html/bikeshed/
(cd util/katex/ && yarn && yarn build && npm install --only=prod)
python util/mathjax2katex.py $(BUILDDIR)/bikeshed_mathjax/index.html \
python3 util/mathjax2katex.py $(BUILDDIR)/bikeshed_mathjax/index.html \
>$(BUILDDIR)/html/bikeshed/index.html
mkdir -p $(BUILDDIR)/html/bikeshed/katex/dist/
cp -r util/katex/dist/* $(BUILDDIR)/html/bikeshed/katex/dist/
Expand Down Expand Up @@ -259,7 +268,7 @@ latex:
"(use \`make latexpdf' here to do that automatically)."

.PHONY: latexpdf
latexpdf:
latexpdf: $(GENERATED)
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex LATEXMKOPTS=" </dev/null" all-pdf >$(BUILDDIR)/latex/LOG 2>&1 || cat $(BUILDDIR)/latex/LOG
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
INDEX_INSTRUCTIONS_RST = os.path.join(SCRIPT_DIR, 'index-instructions.rst')

HEADER = """\
.. DO NOT EDIT: This file is auto-generated by the gen-index-instructions.py script.
.. DO NOT EDIT: This file is auto-generated by the index-instructions.py script.
.. index:: instruction
.. _index-instr:
Expand Down
Loading

0 comments on commit ba2d5eb

Please sign in to comment.