Merge pull request #572 from mweinelt/gh-actions

Introduce github action for CI
pull/10/head
Eren Gölge 2020-12-08 11:16:45 +01:00 committed by GitHub
commit 2f689cbd3a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 64 additions and 64 deletions

49
.github/workflows/test.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: Test
on:
push:
pull_request:
types: [opened, synchronize, reopened]
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [3.6, 3.7, 3.8]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
sudo apt update
sudo apt install espeak git
- name: Upgrade pip
# so we can take advantage of pyproject.toml build-dependency support
run: python3 -m pip install --upgrade pip
- name: Install TTS
run: |
python3 -m pip install .
python3 setup.py egg_info
- name: Lint check
run: |
python3 -m pip install --quiet --upgrade cardboardlint pylint
cardboardlinter --refspec ${GITHUB_BASE_REF} -n auto
- name: Unit tests
run: nosetests tests --nocapture
- name: Test scripts
run: |
./tests/test_server_package.sh
./tests/test_glow-tts_train.sh
./tests/test_server_package.sh
./tests/test_tacotron_train.sh
./tests/test_vocoder_gan_train.sh
./tests/test_vocoder_wavegrad_train.sh
./tests/test_vocoder_wavernn_train.sh

View File

@ -1,32 +0,0 @@
language: python
git:
quiet: true
before_install:
- sudo apt-get update
- sudo apt-get -y install espeak
- python -m pip install --upgrade pip
- pip install six==1.12.0
- pip install --upgrade cython
matrix:
include:
- name: "Lint check"
python: "3.6"
install: pip install --quiet --upgrade cardboardlint pylint
env: TEST_SUITE="lint"
- name: "Unit tests"
python: "3.6"
install:
- python setup.py egg_info
- pip install -e .
env: TEST_SUITE="unittest"
- name: "Unit tests"
python: "3.6"
install:
- python setup.py egg_info
- pip install -e .
env: TEST_SUITE="testscripts"
script: ./.travis/script

View File

@ -1,22 +0,0 @@
#!/bin/bash
set -ex
git remote set-branches --add origin $TRAVIS_BRANCH
git fetch
if [[ ( "$TRAVIS_PULL_REQUEST" != "false" ) && ( "$TEST_SUITE" == "lint" ) ]]; then
# Run cardboardlinter, in case of pull requests
cardboardlinter --refspec origin/$TRAVIS_BRANCH -n auto
fi
if [[ "$TEST_SUITE" == "unittest" ]]; then
nosetests tests --nocapture
./tests/test_server_package.sh
fi
if [[ "$TEST_SUITE" == "testscripts" ]]; then
# test model training scripts
./tests/test_tts_train.sh
./tests/test_vocoder_gan_train.sh
./tests/test_vocoder_wavernn_train.sh
fi

2
pyproject.toml Normal file
View File

@ -0,0 +1,2 @@
[build-system]
requires = ["setuptools", "wheel", "Cython", "numpy>=1.16.0,<1.20"]

View File

@ -1,6 +1,7 @@
torch>=1.5
tensorflow==2.3.1
numpy>=1.16.0
numpy>=1.16.0; python_version >= "3.7"
numpy>=1.16.0,<1.20; python_version < "3.7"
scipy>=0.19.0
numba==0.48
librosa==0.7.2
@ -18,8 +19,8 @@ pysbd
pyworld
soundfile
nose==1.3.7
cardboardlint==1.3.0
pylint==2.5.3
cardboardlint
pylint
gdown
umap-learn
cython

View File

@ -7,24 +7,26 @@ if [[ ! -f tests/outputs/checkpoint_10.pth.tar ]]; then
fi
rm -f dist/*.whl
python setup.py --quiet bdist_wheel --checkpoint tests/outputs/checkpoint_10.pth.tar --model_config tests/outputs/dummy_model_config.json
python3 setup.py --quiet bdist_wheel --checkpoint tests/outputs/checkpoint_10.pth.tar --model_config tests/outputs/dummy_model_config.json
python -m venv /tmp/venv
python3 -m venv /tmp/venv
source /tmp/venv/bin/activate
pip install --quiet --upgrade pip setuptools wheel
pip install --quiet dist/TTS*.whl
python3 -m pip install --quiet --upgrade pip setuptools wheel cython
# wait to install numpy until we have wheel support
python3 -m pip install numpy
python3 -m pip install --quiet dist/TTS*.whl
# this is related to https://github.com/librosa/librosa/issues/1160
pip install numba==0.48
python3 -m pip install numba==0.48
python -m TTS.server.server &
python3 -m TTS.server.server &
SERVER_PID=$!
echo 'Waiting for server...'
sleep 30
curl -o /tmp/audio.wav "http://localhost:5002/api/tts?text=synthesis%20schmynthesis"
python -c 'import sys; import wave; print(wave.open(sys.argv[1]).getnframes())' /tmp/audio.wav
python3 -c 'import sys; import wave; print(wave.open(sys.argv[1]).getnframes())' /tmp/audio.wav
kill $SERVER_PID