Skip to content

Generate doc

Generate doc #331

Workflow file for this run

# Copyright 2022 Xiaomi Corp. (author: Fangjun Kuang)
# See ../../LICENSE for clarification regarding multiple authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http:https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# refer to https://github.com/actions/starter-workflows/pull/47/files
# You can access it at https://k2-fsa.github.io/sherpa/
name: Generate doc
on:
push:
branches:
- master
- doc
paths:
- '.github/workflows/build-doc.yml'
- 'docs/**'
# schedule:
# # minute (0-59)
# # hour (0-23)
# # day of the month (1-31)
# # month (1-12)
# # day of the week (0-6)
# # nightly build at 23:50 UTC time every day
# - cron: "50 23 * * *"
workflow_dispatch:
concurrency:
group: build-doc-${{ github.ref }}
cancel-in-progress: true
jobs:
build-doc:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: [3.8]
steps:
# refer to https://github.com/actions/checkout
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run docker
uses: addnab/docker-run-action@v3
with:
image: reitzig/texlive-full:latest
# image: ghcr.io/xu-cheng/texlive-full:latest
options: |
--volume ${{ github.workspace }}/:/workspace
shell: bash
run: |
uname -a
cat /etc/*release
id
pwd
ls -lh
cd /workspace
which latexmk
apk add --no-cache python3 py3-pip git make gcc zlib-dev libffi-dev openssl-dev musl-dev ghostscript
python3 --version
python3 -m venv abc
source ./abc/bin/activate
python3 -m ensurepip
python3 -m pip install -r ./docs/requirements.txt
cd docs
make html
touch build/html/.nojekyll
export GIT_LFS_SKIP_SMUDGE=1
git clone https://huggingface.co/csukuangfj/sherpa-onnx-apk huggingface
cd huggingface
./generate-asr.py
./generate-asr-2pass.py
./generate-tts.py
./generate-tts-engine.py
./generate-speaker-identification.py
./generate-audio-tagging.py
./generate-audio-tagging-wearos.py
./generate-slid.py
./generate-kws.py
./generate-vad.py
./generate-vad-asr.py
mv -v apk-asr.html ../build/html/onnx/android/apk.html
mv -v apk-asr-2pass.html ../build/html/onnx/android/apk-2pass.html
mv -v apk.html ../build/html/onnx/tts/
mv -v apk-engine.html ../build/html/onnx/tts/
mv -v apk-speaker-identification.html ../build/html/onnx/speaker-identification/apk.html
mv -v apk-audio-tagging.html ../build/html/onnx/audio-tagging/apk.html
mv -v apk-audio-tagging-wearos.html ../build/html/onnx/audio-tagging/apk-wearos.html
mv -v apk-slid.html ../build/html/onnx/spoken-language-identification/apk.html
mv -v apk-kws.html ../build/html/onnx/kws/apk.html
mv -v apk-vad.html ../build/html/onnx/vad/apk.html
mv -v apk-vad-asr.html ../build/html/onnx/vad/apk-asr.html
mv -v apk-asr-cn.html ../build/html/onnx/android/apk-cn.html
mv -v apk-asr-2pass-cn.html ../build/html/onnx/android/apk-2pass-cn.html
mv -v apk-cn.html ../build/html/onnx/tts/
mv -v apk-engine-cn.html ../build/html/onnx/tts/
mv -v apk-speaker-identification-cn.html ../build/html/onnx/speaker-identification/apk-cn.html
mv -v apk-audio-tagging-cn.html ../build/html/onnx/audio-tagging/apk-cn.html
mv -v apk-audio-tagging-wearos-cn.html ../build/html/onnx/audio-tagging/apk-wearos-cn.html
mv -v apk-slid-cn.html ../build/html/onnx/spoken-language-identification/apk-cn.html
mv -v apk-kws-cn.html ../build/html/onnx/kws/apk-cn.html
mv -v apk-vad-cn.html ../build/html/onnx/vad/apk-cn.html
mv -v apk-vad-asr-cn.html ../build/html/onnx/vad/apk-asr-cn.html
cd ..
rm -rf huggingface
git clone https://huggingface.co/csukuangfj/sherpa huggingface
cd huggingface
./run.sh
cp cpu.html ../build/html
cp cuda.html ../build/html
cd ..
rm -rf huggingface
git clone https://huggingface.co/csukuangfj/sherpa-onnx-flutter huggingface
cd huggingface
./generate-asr.py
mkdir -p ../build/html/onnx/flutter/asr
mv -v app-asr.html ../build/html/onnx/flutter/asr/app.html
mv -v app-asr-cn.html ../build/html/onnx/flutter/asr/app-cn.html
cd ..
rm -rf huggingface
pushd source/ncnn/tutorials
sed -i.bak /cn\.rst/d ./index.rst
popd
pushd source/onnx/tutorials
sed -i.bak /cn\.rst/d ./index.rst
popd
pushd source/onnx/pretrained_models/offline-transducer/
sed -i.bak /sherpa-onnx-zipformer-thai-2024-06-20\.txt/d zipformer-transducer-models.rst
sed -i.bak /sherpa-onnx-zipformer-thai-2024-06-20-int8\.txt/d zipformer-transducer-models.rst
popd
git diff
make latex
mkdir -pv build/html/_static
cd build/latex
latexmk -interaction=nonstopmode -f -pdf -dvi- -ps- sherpa.tex || true
ls -lh sherpa.pdf
cp -v sherpa.pdf ../html/
- name: Release sherpa.pdf
if: (github.repository_owner == 'csukuangfj' || github.repository_owner == 'k2-fsa') && github.event_name == 'push'
uses: svenstaro/upload-release-action@v2
with:
file_glob: true
overwrite: true
file: ./docs/build/html/sherpa.pdf
tag: doc
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/build/html
publish_branch: gh-pages