Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.8.0 #116

Merged
merged 18 commits into from
Feb 23, 2024
Merged

0.8.0 #116

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
.env
.git
.git
Dockerfile
27 changes: 27 additions & 0 deletions .github/workflows/propose_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Propose Stable Release
on:
workflow_dispatch:
inputs:
release_type:
type: choice
description: Release Type
options:
- patch
- minor
- major
jobs:
update_version:
uses: neongeckocom/.github/.github/workflows/propose_semver_release.yml@master
with:
branch: dev
release_type: ${{ inputs.release_type }}
update_changelog: True
pull_changes:
uses: neongeckocom/.github/.github/workflows/pull_master.yml@master
needs: update_version
with:
pr_reviewer: neonreviewers
pr_assignee: ${{ github.actor }}
pr_draft: false
pr_title: ${{ needs.update_version.outputs.version }}
pr_body: ${{ needs.update_version.outputs.changelog }}
80 changes: 6 additions & 74 deletions .github/workflows/publish_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,78 +11,10 @@ env:
IMAGE_NAME: ${{ github.repository }}

jobs:
tag_release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get Version
run: |
VERSION=$(python setup.py --version)
echo "VERSION=${VERSION}" >> $GITHUB_ENV
- uses: ncipollo/release-action@v1
with:
token: ${{secrets.GITHUB_TOKEN}}
tag: ${{env.VERSION}}
build_and_publish_pypi:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install Build Tools
run: |
python -m pip install build wheel

- name: Build Distribution Packages
run: |
python setup.py sdist bdist_wheel
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{secrets.PYPI_TOKEN}}
build_and_publish_pypi_and_release:
uses: neongeckocom/.github/.github/workflows/publish_stable_release.yml@master
secrets: inherit
build_and_publish_docker:
runs-on: ubuntu-latest
needs: build_and_publish_pypi
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
ref: ${{ github.ref }}

- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Get Version
id: version
run: |
VERSION=$(sed "s/a/-a./" <<< $(python setup.py --version))
echo ::set-output name=version::${VERSION}
env:
image_name: ${{ env.IMAGE_NAME }}

- name: Extract metadata for Docker
id: meta
uses: docker/metadata-action@v2
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=raw,value=latest
type=semver,pattern={{version}},value=${{ steps.version.outputs.version }}

- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
needs: build_and_publish_pypi_and_release
uses: neongeckocom/.github/.github/workflows/publish_docker.yml@master
secrets: inherit
80 changes: 10 additions & 70 deletions .github/workflows/publish_test_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,74 +13,14 @@ env:
IMAGE_NAME: ${{ github.repository }}

jobs:
build_and_publish_pypi:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install Build Tools
run: |
python -m pip install build wheel
- name: Increment Version
run: |
VER=$(python setup.py --version)
python version_bump.py
- name: Push Version Change
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Increment Version
- name: Build Distribution Packages
run: |
python setup.py sdist bdist_wheel
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{secrets.PYPI_TOKEN}}
publish_alpha_release:
uses: neongeckocom/.github/.github/workflows/publish_alpha_release.yml@master
secrets: inherit
with:
version_file: "version.py"
setup_py: "setup.py"
publish_prerelease: true
build_and_publish_docker:
runs-on: ubuntu-latest
needs: build_and_publish_pypi
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
ref: ${{ github.ref }}

- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Get Version
id: version
run: |
VERSION=$(sed "s/a/-a./" <<< $(python setup.py --version))
echo ::set-output name=version::${VERSION}
env:
image_name: ${{ env.IMAGE_NAME }}

- name: Extract metadata for Docker
id: meta
uses: docker/metadata-action@v2
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=semver,pattern={{version}},value=${{ steps.version.outputs.version }}

- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
needs: publish_alpha_release
uses: neongeckocom/.github/.github/workflows/publish_docker.yml@master
secrets: inherit
21 changes: 0 additions & 21 deletions .github/workflows/pull_master.yml

This file was deleted.

22 changes: 5 additions & 17 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,14 @@ on:
workflow_dispatch:

jobs:
build_tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install Build Tools
run: |
python -m pip install build wheel
- name: Build Distribution Packages
run: |
python setup.py sdist bdist_wheel
py_build_tests:
uses: neongeckocom/.github/.github/workflows/python_build_tests.yml@master
docker_build_tests:
uses: neongeckocom/.github/.github/workflows/docker_build_tests.yml@master
unit_tests:
strategy:
matrix:
python-version: [ 3.7, 3.8, 3.9, "3.10" ]
python-version: [ 3.7, 3.8, 3.9, "3.10", "3.11" ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
Expand Down
48 changes: 48 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Changelog

## [0.7.3a7](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/tree/0.7.3a7) (2024-02-23)

[Full Changelog](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/compare/0.7.3a6...0.7.3a7)

**Merged pull requests:**

- Update Gradio Web UI [\#114](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/pull/114) ([NeonDaniel](https://github.com/NeonDaniel))

## [0.7.3a6](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/tree/0.7.3a6) (2024-02-23)

[Full Changelog](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/compare/0.7.3a5...0.7.3a6)

**Merged pull requests:**

- Pin ovos-tts-server version for stable container release [\#113](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/pull/113) ([NeonDaniel](https://github.com/NeonDaniel))

## [0.7.3a5](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/tree/0.7.3a5) (2024-02-23)

[Full Changelog](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/compare/0.7.2...0.7.3a5)

**Implemented enhancements:**

- \[FEAT\] Python3.11-Compatible PyTorch [\#109](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/issues/109)

**Fixed bugs:**

- \[BUG\] I get error message "KeyError: 'en-us'" when I use "CoquiTTS\(\)" [\#99](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/issues/99)
- Torch Compatibility [\#82](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/issues/82)

**Closed issues:**

- Tried to install Neon tts on Windows 11 using docker commands in PowerShell [\#105](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/issues/105)
- "TypeError: NoneType object is not callable" when starting ovos-tts-server [\#88](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/issues/88)

**Merged pull requests:**

- Update automation to publish GH prereleases [\#112](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/pull/112) ([NeonDaniel](https://github.com/NeonDaniel))
- Fix relative paths in setup.py [\#111](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/pull/111) ([NeonDaniel](https://github.com/NeonDaniel))
- Loosen dependency for Python 3.11 Compat. [\#110](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/pull/110) ([NeonDaniel](https://github.com/NeonDaniel))
- Handle connection errors and fall back to local cached model files [\#108](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/pull/108) ([NeonDaniel](https://github.com/NeonDaniel))
- Update release automation to new workflow [\#104](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/pull/104) ([NeonDaniel](https://github.com/NeonDaniel))
- Update Docker to include Gradio web UI [\#102](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui/pull/102) ([NeonDaniel](https://github.com/NeonDaniel))



\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
26 changes: 14 additions & 12 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
FROM python:3.9-slim-bullseye AS compile-image

RUN apt-get update -y && apt-get install -y python3-pip git

RUN pip3 install --user torch --no-cache-dir --extra-index-url https://download.pytorch.org/whl/cpu
FROM python:3.9-slim AS compile-image

COPY . /tmp/neon-tts-plugin-coqui
RUN pip3 install --user /tmp/neon-tts-plugin-coqui --no-cache-dir

RUN pip3 install --user git+https://github.com/OpenVoiceOS/ovos-tts-server@b9ee84c48ab6ab5655fffa032359752ab10d2c9d
RUN pip install wheel && \
pip install --user --no-cache-dir \
/tmp/neon-tts-plugin-coqui/[docker] --extra-index-url https://download.pytorch.org/whl/cpu

FROM python:3.9-slim-bullseye AS build-image

RUN apt-get update -y && apt-get install -y --no-install-recommends espeak-ng
# Copy built packages to a clean image to exclude build-time extras from final image
FROM python:3.9-slim AS build-image
COPY --from=compile-image /root/.local /root/.local
ENV PATH=/root/.local/bin:$PATH

ENTRYPOINT ovos-tts-server --engine coqui
RUN apt-get update && \
apt-get install -y --no-install-recommends \
espeak-ng

ENTRYPOINT ovos-tts-server --engine coqui --gradio \
--title "🐸💬 - Neon AI Coqui AI TTS Plugin" \
--description "🐸💬 - a deep learning toolkit for Text-to-Speech, battle-tested in research and production" \
--info "more info at [Neon Coqui TTS Plugin](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui), [Coqui TTS](https://github.com/coqui-ai/TTS)"
9 changes: 8 additions & 1 deletion neon_tts_plugin_coqui/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,14 @@ def _download_huggingface(self, model_name) -> str:
model_name, *suffix = model_name.split("@")
revision = dict(enumerate(suffix)).get(0, None)

model_path = hf_hub_download(model_name, "model.pt", revision=revision)
try:
model_path = hf_hub_download(model_name, "model.pt",
revision=revision)
except ConnectionError as e:
LOG.error(e)
model_path = hf_hub_download(model_name, "model.pt",
revision=revision,
local_files_only=True)

return model_path

Expand Down
1 change: 1 addition & 0 deletions requirements/docker.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ovos-tts-server==0.0.3a10
7 changes: 4 additions & 3 deletions requirements/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# TTS
numpy>=1.19.5
torch~=1.9,!=1.13.0
torch>=1.9.0,<3.0.0,!=1.13.0
# dependencies
ovos-plugin-manager~=0.0.2
ovos-plugin-manager~=0.0.23
ovos-utils~=0.0.32
psutil
# huggingface
huggingface-hub
huggingface-hub
Loading