Add speaker identification APIs for HarmonyOS (#1607) #16
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
name: har | |
on: | |
push: | |
branches: | |
- master | |
# - ohos-har | |
tags: | |
- 'v[0-9]+.[0-9]+.[0-9]+*' | |
workflow_dispatch: | |
concurrency: | |
group: har-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
har: | |
name: Har | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: har-linux | |
- name: cache-toolchain | |
id: cache-toolchain-ohos | |
uses: actions/cache@v4 | |
with: | |
path: command-line-tools | |
key: commandline-tools-linux-x64-5.0.5.200.zip | |
- name: Download toolchain | |
if: steps.cache-toolchain-ohos.outputs.cache-hit != 'true' | |
shell: bash | |
run: | | |
curl -SL -O https://huggingface.co/csukuangfj/harmonyos-commandline-tools/resolve/main/commandline-tools-linux-x64-5.0.5.200.zip | |
unzip commandline-tools-linux-x64-5.0.5.200.zip | |
rm commandline-tools-linux-x64-5.0.5.200.zip | |
- name: Set environment variable | |
shell: bash | |
run: | | |
echo "$GITHUB_WORKSPACE/command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin" >> "$GITHUB_PATH" | |
which cmake | |
cmake --version | |
ls -lh $GITHUB_WORKSPACE/command-line-tools/sdk/default/openharmony/native/build/cmake/ohos.toolchain.cmake | |
echo "====" | |
cat $GITHUB_WORKSPACE/command-line-tools/sdk/default/openharmony/native/build/cmake/ohos.toolchain.cmake | |
echo "====" | |
# echo "$GITHUB_WORKSPACE/command-line-tools/sdk/default/openharmony/native/llvm/bin" >> "$GITHUB_PATH" | |
ls -lh $GITHUB_WORKSPACE/command-line-tools/sdk/default/openharmony/native/llvm/bin/ | |
echo "--" | |
ls -lh $GITHUB_WORKSPACE/command-line-tools/sdk/default/openharmony/native/llvm/bin/*unknown* | |
cat $GITHUB_PATH | |
# /home/runner/work/onnxruntime-libs/onnxruntime-libs/command-line-tools/sdk/default/openharmony/native/llvm/bin/aarch64-unknown-linux-ohos-clang -v || true | |
export PATH=$PWD/command-line-tools/sdk/default/openharmony/native/llvm/bin:$PATH | |
echo "path: $PATH" | |
which aarch64-unknown-linux-ohos-clang++ || true | |
which aarch64-unknown-linux-ohos-clang || true | |
aarch64-unknown-linux-ohos-clang++ --version || true | |
aarch64-unknown-linux-ohos-clang --version || true | |
which armv7-unknown-linux-ohos-clang++ | |
which armv7-unknown-linux-ohos-clang | |
armv7-unknown-linux-ohos-clang++ --version | |
armv7-unknown-linux-ohos-clang --version | |
which x86_64-unknown-linux-ohos-clang++ | |
which x86_64-unknown-linux-ohos-clang | |
x86_64-unknown-linux-ohos-clang++ --version | |
x86_64-unknown-linux-ohos-clang --version | |
- name: Install tree | |
shell: bash | |
run: | | |
sudo apt-get update -q | |
sudo apt-get install -y -q tree | |
- name: Build libraries | |
shell: bash | |
run: | | |
export CMAKE_CXX_COMPILER_LAUNCHER=ccache | |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | |
cmake --version | |
export OHOS_SDK_NATIVE_DIR="$GITHUB_WORKSPACE/command-line-tools/sdk/default/openharmony/native" | |
./build-ohos-arm64-v8a.sh | |
./build-ohos-x86-64.sh | |
- name: Build Har | |
shell: bash | |
run: | | |
export PATH="$GITHUB_WORKSPACE/command-line-tools/bin:$PATH" | |
which hvigorw | |
pushd harmony-os/SherpaOnnxHar | |
cp -fv ../../LICENSE ./sherpa_onnx | |
cp -fv ../../CHANGELOG.md ./sherpa_onnx | |
hvigorw --mode module -p product=default -p module=sherpa_onnx@default assembleHar --analyze=normal --parallel --incremental --no-daemon | |
ls -lh ./sherpa_onnx/build/default/outputs/default/sherpa_onnx.har | |
cp -v ./sherpa_onnx/build/default/outputs/default/sherpa_onnx.har ../../ | |
popd | |
ls -lh *.har | |
- name: View Har | |
shell: bash | |
run: | | |
file sherpa_onnx.har | |
tar xvf sherpa_onnx.har | |
cd package | |
ls -lh | |
ls -lh libs | |
echo "---libs/x86_64---" | |
ls -lh libs/x86_64 | |
echo "---libs/arm64-v8a---" | |
ls -lh libs/arm64-v8a | |
echo "---src/main/ets/components---" | |
ls -lh src/main/ets/components/ | |
echo "---src/main/cpp/types/libsherpa_onnx/---" | |
ls -lh src/main/cpp/types/libsherpa_onnx/ | |
tree . | |
- name: Collect result | |
shell: bash | |
run: | | |
SHERPA_ONNX_VERSION=v$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2) | |
echo "SHERPA_ONNX_VERSION=$SHERPA_ONNX_VERSION" >> "$GITHUB_ENV" | |
mv sherpa_onnx.har sherpa_onnx-$SHERPA_ONNX_VERSION.har | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: sherpa-onnx-har | |
path: ./sherpa_onnx*.har | |
- name: Release jar | |
if: (github.repository_owner == 'csukuangfj' || github.repository_owner == 'k2-fsa') && github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
file_glob: true | |
overwrite: true | |
file: ./*.har | |
# repo_name: k2-fsa/sherpa-onnx | |
# repo_token: ${{ secrets.UPLOAD_GH_SHERPA_ONNX_TOKEN }} | |
# tag: v1.10.32 | |
- name: Publish to huggingface | |
if: (github.repository_owner == 'csukuangfj' || github.repository_owner == 'k2-fsa') && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') | |
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 | |
SHERPA_ONNX_VERSION=$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2) | |
echo "SHERPA_ONNX_VERSION $SHERPA_ONNX_VERSION" | |
git clone https://csukuangfj:[email protected]/csukuangfj/sherpa-onnx-harmony-os huggingface | |
cd huggingface | |
git fetch | |
git pull | |
git merge -m "merge remote" --ff origin main | |
d=har | |
mkdir -p $d | |
cp -v ../*.har $d/ | |
git status | |
git lfs track "*.har" | |
git add . | |
git commit -m "add more hars" | |
git push https://csukuangfj:[email protected]/csukuangfj/sherpa-onnx-harmony-os main |