2021-03-21 21:08:09 +08:00
|
|
|
name: Linux Emscripten
|
2021-03-21 20:42:12 +08:00
|
|
|
|
|
|
|
on:
|
|
|
|
- pull_request
|
2021-03-21 21:08:09 +08:00
|
|
|
- push
|
2021-03-21 20:42:12 +08:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
name: Linux Emscripten
|
|
|
|
runs-on: ubuntu-latest
|
2021-07-26 01:31:45 +08:00
|
|
|
env:
|
|
|
|
DOCUMENTATION: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
2021-03-21 20:42:12 +08:00
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- uses: seanmiddleditch/gha-setup-ninja@master
|
|
|
|
- uses: mymindstorm/setup-emsdk@v7
|
2021-07-26 01:31:45 +08:00
|
|
|
|
|
|
|
- name: Install Doxygen/Graphviz
|
|
|
|
if: fromJSON(env.DOCUMENTATION)
|
|
|
|
run: |
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install doxygen graphviz
|
|
|
|
|
2021-03-21 20:42:12 +08:00
|
|
|
- name: Build
|
2021-07-26 01:31:45 +08:00
|
|
|
run: |
|
|
|
|
emcmake cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -S . -B build
|
|
|
|
cmake --build build
|
|
|
|
|
|
|
|
- name: Build documentation
|
|
|
|
if: fromJSON(env.DOCUMENTATION)
|
|
|
|
run: |
|
|
|
|
cd build
|
|
|
|
cmake --build . --target doc
|
|
|
|
# Copy emscripten built examples to the doxygen output directory for deployment
|
|
|
|
rsync -amv --include='*/' --include='*.html' --include='*.js' --include='*.wasm' --exclude='*' examples doc/doxygen/html
|
|
|
|
|
|
|
|
# Deploy the HTML documentation to GitHub Pages
|
|
|
|
- name: GH Pages Deployment
|
|
|
|
if: fromJSON(env.DOCUMENTATION)
|
|
|
|
uses: peaceiris/actions-gh-pages@v3
|
|
|
|
with:
|
|
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
publish_dir: build/doc/doxygen/html/
|
|
|
|
enable_jekyll: false
|
|
|
|
allow_empty_commit: false
|
|
|
|
force_orphan: true
|
|
|
|
publish_branch: gh-pages
|