Fix CI tests (#804)
This commit is contained in:
105
.github/workflows/run-python-test-macos.yaml
vendored
Normal file
105
.github/workflows/run-python-test-macos.yaml
vendored
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
name: run-python-test-macos
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/run-python-test-macos.yaml'
|
||||||
|
- '.github/scripts/test-python.sh'
|
||||||
|
- 'CMakeLists.txt'
|
||||||
|
- 'cmake/**'
|
||||||
|
- 'sherpa-onnx/csrc/*'
|
||||||
|
- 'python-api-examples/**'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/run-python-test-macos.yaml'
|
||||||
|
- '.github/scripts/test-python.sh'
|
||||||
|
- 'CMakeLists.txt'
|
||||||
|
- 'cmake/**'
|
||||||
|
- 'sherpa-onnx/csrc/*'
|
||||||
|
- 'python-api-examples/**'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: run-python-test-macos-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
run-python-test:
|
||||||
|
name: ${{ matrix.os }} ${{ matrix.python-version }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
# See https://github.com/actions/runner-images
|
||||||
|
# macos-14 is for arm64
|
||||||
|
# macos-14-large is for x64
|
||||||
|
include:
|
||||||
|
- os: macos-11
|
||||||
|
python-version: "3.7"
|
||||||
|
|
||||||
|
- os: macos-12
|
||||||
|
python-version: "3.8"
|
||||||
|
|
||||||
|
- os: macos-13
|
||||||
|
python-version: "3.9"
|
||||||
|
- os: macos-13
|
||||||
|
python-version: "3.10"
|
||||||
|
- os: macos-13
|
||||||
|
python-version: "3.11"
|
||||||
|
|
||||||
|
- os: macos-14
|
||||||
|
python-version: "3.12"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Display OS version
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
uname -a
|
||||||
|
sw_vers
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2
|
||||||
|
with:
|
||||||
|
key: ${{ matrix.os }}-python-${{ matrix.python-version }}
|
||||||
|
|
||||||
|
- name: Setup Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
|
||||||
|
- name: Install Python dependencies
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
python3 -m pip install --upgrade pip numpy pypinyin sentencepiece>=0.1.96 soundfile
|
||||||
|
|
||||||
|
- name: Install sherpa-onnx
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||||
|
cmake --version
|
||||||
|
|
||||||
|
python3 -m pip install --verbose .
|
||||||
|
|
||||||
|
- name: Test sherpa-onnx
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
export OS=${{ matrix.os }}
|
||||||
|
.github/scripts/test-python.sh
|
||||||
|
.github/scripts/test-speaker-recognition-python.sh
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: tts-generated-test-files-${{ matrix.os }}-${{ matrix.python-version }}
|
||||||
|
path: tts
|
||||||
130
.github/workflows/run-python-test.yaml
vendored
130
.github/workflows/run-python-test.yaml
vendored
@@ -30,9 +30,6 @@ concurrency:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
env:
|
|
||||||
SCCACHE_GHA_ENABLED: "true"
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run-python-test:
|
run-python-test:
|
||||||
name: ${{ matrix.os }} ${{ matrix.python-version }}
|
name: ${{ matrix.os }} ${{ matrix.python-version }}
|
||||||
@@ -40,33 +37,37 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
include:
|
||||||
python-version: ["3.7", "3.8", "3.9", "3.10","3.11", "3.12"]
|
- os: ubuntu-20.04
|
||||||
exclude:
|
python-version: "3.7"
|
||||||
- os: macos-latest
|
- os: ubuntu-20.04
|
||||||
|
python-version: "3.8"
|
||||||
|
- os: ubuntu-20.04
|
||||||
python-version: "3.9"
|
python-version: "3.9"
|
||||||
- os: macos-latest
|
|
||||||
|
- os: ubuntu-22.04
|
||||||
python-version: "3.10"
|
python-version: "3.10"
|
||||||
# - os: windows-latest
|
- os: ubuntu-22.04
|
||||||
# python-version: "3.12"
|
python-version: "3.11"
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
python-version: "3.12"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Display OS version
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
uname -a
|
||||||
|
find "/etc" -maxdepth 1 -type f -name "*version" -exec head -n 100 {} \;
|
||||||
|
|
||||||
- name: ccache
|
- name: ccache
|
||||||
if: matrix.os != 'windows-latest'
|
|
||||||
uses: hendrikmuhs/ccache-action@v1.2
|
uses: hendrikmuhs/ccache-action@v1.2
|
||||||
with:
|
with:
|
||||||
key: ${{ matrix.os }}-python-${{ matrix.python-version }}
|
key: ${{ matrix.os }}-python-${{ matrix.python-version }}
|
||||||
|
|
||||||
- name: Run sccache-cache
|
|
||||||
if: matrix.os == 'windows-latest'
|
|
||||||
uses: mozilla-actions/sccache-action@v0.0.4
|
|
||||||
with:
|
|
||||||
version: "v0.7.4"
|
|
||||||
|
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
@@ -76,31 +77,108 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
python3 -m pip install --upgrade pip numpy pypinyin sentencepiece>=0.1.96 soundfile
|
python3 -m pip install --upgrade pip numpy pypinyin sentencepiece>=0.1.96 soundfile
|
||||||
|
python3 -m pip install wheel twine setuptools
|
||||||
|
|
||||||
- name: Install sherpa-onnx
|
- name: Install ninja
|
||||||
if: matrix.os != 'windows-latest'
|
shell: bash
|
||||||
|
run: |
|
||||||
|
sudo apt-get install ninja-build
|
||||||
|
|
||||||
|
- name: Display ninja version
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
ninja --version
|
||||||
|
ninja --help || true
|
||||||
|
which ninja
|
||||||
|
|
||||||
|
- name: Display site packages dir
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
python3 -c 'import site; print(site.getsitepackages())'
|
||||||
|
p=$(python3 -c 'import site; print(site.getsitepackages())')
|
||||||
|
echo "p: $p"
|
||||||
|
|
||||||
|
- name: Install patchelf
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -q
|
||||||
|
sudo apt-get install -q -y patchelf
|
||||||
|
patchelf --help
|
||||||
|
|
||||||
|
- name: Build sherpa-onnx
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||||
cmake --version
|
cmake --version
|
||||||
|
export SHERPA_ONNX_CMAKE_ARGS="-G Ninja -DCMAKE_BUILD_TYPE=Release"
|
||||||
|
export SHERPA_ONNX_MAKE_ARGS="-j 6"
|
||||||
|
|
||||||
python3 -m pip install --verbose .
|
python3 setup.py bdist_wheel
|
||||||
|
|
||||||
- name: Install sherpa-onnx
|
- name: Patch wheels
|
||||||
if: matrix.os == 'windows-latest'
|
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
cmake --version
|
mkdir ./dist2
|
||||||
export SHERPA_ONNX_CMAKE_ARGS="-DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DCMAKE_C_COMPILER_LAUNCHER=sccache"
|
sudo ./scripts/wheel/patch_wheel.py --in-dir ./dist --out-dir ./dist2
|
||||||
echo "SHERPA_ONNX_CMAKE_ARGS: ${SHERPA_ONNX_CMAKE_ARGS}"
|
|
||||||
|
|
||||||
python3 -m pip install --verbose .
|
- name: Install sherpa-onnx
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
ls -lh dist2
|
||||||
|
|
||||||
|
python3 -m pip install ./dist2/*.whl
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.os }}-${{ matrix.python-version }}-whl
|
||||||
|
path: ./dist
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.os }}-${{ matrix.python-version }}-whl-patched
|
||||||
|
path: ./dist2
|
||||||
|
|
||||||
|
- name: Show dependencies
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd dist
|
||||||
|
mkdir t
|
||||||
|
cd t
|
||||||
|
unzip ../*.whl
|
||||||
|
readelf -d _sherpa_onnx*.so
|
||||||
|
|
||||||
|
echo "----"
|
||||||
|
|
||||||
|
readelf -d sherpa_onnx-*.data/data/bin/sherpa-onnx
|
||||||
|
|
||||||
|
- name: Show dependencies (patched)
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd dist2
|
||||||
|
mkdir t
|
||||||
|
cd t
|
||||||
|
unzip ../*.whl
|
||||||
|
readelf -d _sherpa_onnx*.so
|
||||||
|
|
||||||
|
echo "----"
|
||||||
|
|
||||||
|
readelf -d sherpa_onnx-*.data/data/bin/sherpa-onnx
|
||||||
|
|
||||||
- name: Test sherpa-onnx
|
- name: Test sherpa-onnx
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
export OS=${{ matrix.os }}
|
export OS=${{ matrix.os }}
|
||||||
|
|
||||||
|
p=$(python3 -c 'import site; print(site.getsitepackages()[0])')
|
||||||
|
echo "p: $p"
|
||||||
|
p=$p/sherpa_onnx/lib
|
||||||
|
echo "p: $p"
|
||||||
|
ls -lh $p
|
||||||
|
|
||||||
|
export LD_LIBRARY_PATH=$p:$LD_LIBRARY_PATH
|
||||||
|
echo "LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
|
||||||
|
|
||||||
.github/scripts/test-python.sh
|
.github/scripts/test-python.sh
|
||||||
.github/scripts/test-speaker-recognition-python.sh
|
.github/scripts/test-speaker-recognition-python.sh
|
||||||
|
|
||||||
|
|||||||
46
.github/workflows/test-build-wheel.yaml
vendored
46
.github/workflows/test-build-wheel.yaml
vendored
@@ -35,8 +35,50 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
# See https://github.com/actions/runner-images
|
||||||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
python-version: "3.7"
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
python-version: "3.8"
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
python-version: "3.9"
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
python-version: "3.10"
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
python-version: "3.11"
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
python-version: "3.12"
|
||||||
|
|
||||||
|
- os: macos-11
|
||||||
|
python-version: "3.7"
|
||||||
|
|
||||||
|
- os: macos-12
|
||||||
|
python-version: "3.8"
|
||||||
|
|
||||||
|
- os: macos-13
|
||||||
|
python-version: "3.9"
|
||||||
|
- os: macos-13
|
||||||
|
python-version: "3.10"
|
||||||
|
- os: macos-13
|
||||||
|
python-version: "3.11"
|
||||||
|
|
||||||
|
- os: macos-14
|
||||||
|
python-version: "3.12"
|
||||||
|
|
||||||
|
- os: windows-2019
|
||||||
|
python-version: "3.7"
|
||||||
|
- os: windows-2019
|
||||||
|
python-version: "3.8"
|
||||||
|
- os: windows-2019
|
||||||
|
python-version: "3.9"
|
||||||
|
|
||||||
|
- os: windows-2022
|
||||||
|
python-version: "3.10"
|
||||||
|
- os: windows-2022
|
||||||
|
python-version: "3.11"
|
||||||
|
- os: windows-2022
|
||||||
|
python-version: "3.12"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|||||||
47
.github/workflows/test-pip-install.yaml
vendored
47
.github/workflows/test-pip-install.yaml
vendored
@@ -28,11 +28,50 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
# See https://github.com/actions/runner-images
|
||||||
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
|
include:
|
||||||
exclude:
|
- os: ubuntu-20.04
|
||||||
- os: macos-latest
|
|
||||||
python-version: "3.7"
|
python-version: "3.7"
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
python-version: "3.8"
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
python-version: "3.9"
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
python-version: "3.10"
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
python-version: "3.11"
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
python-version: "3.12"
|
||||||
|
|
||||||
|
- os: macos-11
|
||||||
|
python-version: "3.7"
|
||||||
|
|
||||||
|
- os: macos-12
|
||||||
|
python-version: "3.8"
|
||||||
|
|
||||||
|
- os: macos-13
|
||||||
|
python-version: "3.9"
|
||||||
|
- os: macos-13
|
||||||
|
python-version: "3.10"
|
||||||
|
- os: macos-13
|
||||||
|
python-version: "3.11"
|
||||||
|
|
||||||
|
- os: macos-14
|
||||||
|
python-version: "3.12"
|
||||||
|
|
||||||
|
- os: windows-2019
|
||||||
|
python-version: "3.7"
|
||||||
|
- os: windows-2019
|
||||||
|
python-version: "3.8"
|
||||||
|
- os: windows-2019
|
||||||
|
python-version: "3.9"
|
||||||
|
|
||||||
|
- os: windows-2022
|
||||||
|
python-version: "3.10"
|
||||||
|
- os: windows-2022
|
||||||
|
python-version: "3.11"
|
||||||
|
- os: windows-2022
|
||||||
|
python-version: "3.12"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|||||||
@@ -35,8 +35,8 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
os: [ubuntu-20.04, ubuntu-22.04, windows-latest, macos-latest, macos-14]
|
||||||
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
|
python-version: ["3.10"]
|
||||||
model_type: ["transducer", "paraformer", "nemo_ctc", "whisper", "tdnn"]
|
model_type: ["transducer", "paraformer", "nemo_ctc", "whisper", "tdnn"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -35,8 +35,8 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
os: [ubuntu-20.04, ubuntu-22.04, windows-latest, macos-latest, macos-14]
|
||||||
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
|
python-version: ["3.10"]
|
||||||
model_type: ["transducer", "paraformer", "zipformer2-ctc"]
|
model_type: ["transducer", "paraformer", "zipformer2-ctc"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -180,13 +180,20 @@ class BuildExtension(build_ext):
|
|||||||
print('Setting make_args to "-j4"')
|
print('Setting make_args to "-j4"')
|
||||||
make_args = "-j4"
|
make_args = "-j4"
|
||||||
|
|
||||||
build_cmd = f"""
|
if "-G Ninja" in cmake_args:
|
||||||
cd {self.build_temp}
|
build_cmd = f"""
|
||||||
|
cd {self.build_temp}
|
||||||
|
cmake {cmake_args} {sherpa_onnx_dir}
|
||||||
|
ninja {make_args} install
|
||||||
|
"""
|
||||||
|
else:
|
||||||
|
build_cmd = f"""
|
||||||
|
cd {self.build_temp}
|
||||||
|
|
||||||
cmake {cmake_args} {sherpa_onnx_dir}
|
cmake {cmake_args} {sherpa_onnx_dir}
|
||||||
|
|
||||||
make {make_args} install/strip
|
make {make_args} install/strip
|
||||||
"""
|
"""
|
||||||
print(f"build command is:\n{build_cmd}")
|
print(f"build command is:\n{build_cmd}")
|
||||||
|
|
||||||
ret = os.system(build_cmd)
|
ret = os.system(build_cmd)
|
||||||
|
|||||||
Reference in New Issue
Block a user