diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index 0e47e9a0..00000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,49 +0,0 @@ -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 - diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..28500a81 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,32 @@ +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 diff --git a/.travis/script b/.travis/script new file mode 100755 index 00000000..0860f9cf --- /dev/null +++ b/.travis/script @@ -0,0 +1,22 @@ +#!/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 diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index 997b713f..00000000 --- a/pyproject.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools", "wheel", "Cython", "numpy>=1.16.0,<1.20"] diff --git a/requirements.txt b/requirements.txt index e9af491f..31b49916 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,6 @@ torch>=1.5 tensorflow==2.3.1 -numpy>=1.16.0; python_version >= "3.7" -numpy>=1.16.0,<1.20; python_version < "3.7" +numpy>=1.16.0 scipy>=0.19.0 numba==0.48 librosa==0.7.2 @@ -19,8 +18,8 @@ pysbd pyworld soundfile nose==1.3.7 -cardboardlint -pylint +cardboardlint==1.3.0 +pylint==2.5.3 gdown umap-learn cython diff --git a/tests/test_server_package.sh b/tests/test_server_package.sh index 0b3395a7..7e75415a 100755 --- a/tests/test_server_package.sh +++ b/tests/test_server_package.sh @@ -7,26 +7,24 @@ if [[ ! -f tests/outputs/checkpoint_10.pth.tar ]]; then fi rm -f dist/*.whl -python3 setup.py --quiet bdist_wheel --checkpoint tests/outputs/checkpoint_10.pth.tar --model_config tests/outputs/dummy_model_config.json +python setup.py --quiet bdist_wheel --checkpoint tests/outputs/checkpoint_10.pth.tar --model_config tests/outputs/dummy_model_config.json -python3 -m venv /tmp/venv +python -m venv /tmp/venv source /tmp/venv/bin/activate -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 +pip install --quiet --upgrade pip setuptools wheel +pip install --quiet dist/TTS*.whl # this is related to https://github.com/librosa/librosa/issues/1160 -python3 -m pip install numba==0.48 +pip install numba==0.48 -python3 -m TTS.server.server & +python -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" -python3 -c 'import sys; import wave; print(wave.open(sys.argv[1]).getnframes())' /tmp/audio.wav +python -c 'import sys; import wave; print(wave.open(sys.argv[1]).getnframes())' /tmp/audio.wav kill $SERVER_PID