feat(pyvtt): add CI pipeline and restructure project
All checks were successful
Build and Publish / build-and-publish (push) Successful in 21s

- Add GitHub Actions workflow for building and publishing packages.
- Introduce `pyproject.toml` for project metadata and dependency management.
- Remove `requirements.txt` in favor of Poetry for dependency handling.
- Restructure source files under `src/pyvtt` for better organization.
- Enhance `notify.py` with sound playback and improve error handling.
- Update `voice_to_text_tray.py` to support dynamic configuration reload.
- Add `.vscode/settings.json` for improved IDE configuration.
- Update `.gitignore` to exclude build artifacts.

Signed-off-by: Max P. <Mail@MPassarello.de>
This commit is contained in:
2025-04-30 15:01:58 +02:00
parent 58c8bf5c8f
commit 5b343b68cf
12 changed files with 963 additions and 35 deletions

52
.github/workflows/build-and-deploy.yml vendored Normal file
View File

@@ -0,0 +1,52 @@
name: Build and Publish
on:
push:
paths:
- "pyproject.toml" # Nur bei Änderungen an dieser Datei
workflow_dispatch: # Manuelles Anstoßen zulassen
jobs:
build-and-publish:
runs-on: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: 🐍 Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: 🔄 Restore cache
uses: https://git.0xmax42.io/actions/cache@v2
with:
keys: |
poetry-v1-${{ runner.os }}-${{ hashFiles('poetry.lock') }}
poetry-v1-${{ runner.os }}
paths: |
~/.cache/pypoetry
~/.cache/pip
- name: Install Poetry
run: |
pip install poetry
- name: Install Project Dependencies
working-directory: .
run: |
poetry install
- name: Build Package
working-directory: .
run: |
poetry build
- name: Publish to Gitea Package Registry
working-directory: .
env:
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
run: |
poetry run twine upload --repository-url ${{ secrets.TWINE_URL }} dist/*