Skip to content

Generate doc

Generate doc #447

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://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 curl
python3 --version
python3 -m venv abc
source ./abc/bin/activate
python3 -m ensurepip
python3 -m pip install -r ./docs/requirements.txt
cd docs
# Download test wave files for SenseVoice
mkdir -p source/_static/sense-voice
pushd source/_static/sense-voice
rm .gitignore
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/lei-jun-test.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/Obama.wav
curl -SL -O https://huggingface.co/csukuangfj/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17/resolve/main/test_wavs/zh.wav
curl -SL -O https://huggingface.co/csukuangfj/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17/resolve/main/test_wavs/en.wav
ls -lh
popd
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-speaker-diarization.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-speaker-diarization.html ../build/html/onnx/speaker-diarization/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-speaker-diarization-cn.html ../build/html/onnx/speaker-diarization/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
./generate-tts.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
mv -v tts*.html ../build/html/onnx/flutter/
cd ..
rm -rf huggingface
git clone https://huggingface.co/csukuangfj/sherpa-onnx-bin huggingface
cd huggingface
./build-generate-subtitles.py
mv -v download-generated-subtitles.html ../build/html/onnx/lazarus/
mv -v download-generated-subtitles-cn.html ../build/html/onnx/lazarus/
cd ..
rm -rf huggingface
git clone https://huggingface.co/csukuangfj/sherpa-onnx-wheels huggingface
cd huggingface
./run.sh
mv -v *.html ../build/html/onnx/
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
sed -i.bak /sherpa-onnx-zipformer-ja-reazonspeech-2024-08-01\.txt/d zipformer-transducer-models.rst
sed -i.bak /sherpa-onnx-zipformer-ja-reazonspeech-2024-08-01-int8\.txt/d zipformer-transducer-models.rst
sed -i.bak /sherpa-onnx-zipformer-ru-2024-09-18\.txt/d zipformer-transducer-models.rst
sed -i.bak /sherpa-onnx-small-zipformer-ru-2024-09-18\.txt/d zipformer-transducer-models.rst
sed -i.bak /sherpa-onnx-zipformer-ru-2024-09-18\.int8\.txt/d zipformer-transducer-models.rst
sed -i.bak /sherpa-onnx-small-zipformer-ru-2024-09-18\.int8\.txt/d zipformer-transducer-models.rst
popd
pushd source/onnx/pretrained_models/offline-ctc/nemo/
sed -i.bak /sherpa-onnx-nemo-ctc-giga-am-russian-2024-10-24\.int8\.txt/d russian.rst
popd
pushd source/onnx/pretrained_models/offline-transducer
sed -i.bak /sherpa-onnx-nemo-transducer-giga-am-russian-2024-10-24\.int8\.txt/d nemo-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
latexmk -interaction=nonstopmode -f -pdf -dvi- -ps- sherpa.tex >/dev/null 2>&1 || true
ls -lh sherpa.pdf
cp -v sherpa.pdf /workspace/
- name: View generated files
shell: bash
run: |
cd docs/build/html
ls -lh
echo "-----_static-----"
ls -lh _static
echo "-----_static/sense-voice-----"
ls -lh _static/sense-voice
- 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: ./sherpa.pdf
tag: doc
- name: Publish to huggingface
env:
HF_TOKEN: ${{ secrets.HF_TOKEN }}
uses: nick-fields/retry@v3
with:
max_attempts: 20
timeout_seconds: 200
shell: bash
command: |
git config --global user.email "[email protected]"
git config --global user.name "Fangjun Kuang"
rm -rf huggingface
export GIT_LFS_SKIP_SMUDGE=1
export GIT_CLONE_PROTECTION_ACTIVE=false
git clone https://huggingface.co/csukuangfj/sherpa-doc huggingface
cd huggingface
cp -v ../sherpa.pdf ./
git status
git lfs track "*.pdf"
git add .
git commit -m "update doc"
git push https://csukuangfj:[email protected]/csukuangfj/sherpa-doc main
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/build/html
force_orphan: true
publish_branch: gh-pages