Generate doc #447
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |