feat: π Add GitHub workflows for package testing and CI, integrate logger support in whisper.py π€ #1
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Python package CI | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
build: | |
runs-on: ${{ matrix.operating-system }} | |
strategy: | |
matrix: | |
operating-system: [ubuntu-latest, windows-latest, macos-latest] | |
python-version: [3.8, 3.9, 3.11] | |
torch-version: [2.0.0, 2.0.1] | |
fail-fast: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Restore Ubuntu cache | |
uses: actions/cache@v2 | |
if: matrix.operating-system == 'ubuntu-latest' | |
with: | |
path: ~/.cache/pip | |
key: ${{ matrix.operating-system }}-${{ matrix.python-version }}-${{ hashFiles('**/setup.py')}} | |
restore-keys: ${{ matrix.operating-system }}-${{ matrix.python-version }}- | |
- name: Restore MacOS cache | |
uses: actions/cache@v2 | |
if: matrix.operating-system == 'macos-latest' | |
with: | |
path: ~/Library/Caches/pip | |
key: ${{ matrix.operating-system }}-${{ matrix.python-version }}-${{ hashFiles('**/setup.py')}} | |
restore-keys: ${{ matrix.operating-system }}-${{ matrix.python-version }}- | |
- name: Restore Windows cache | |
uses: actions/cache@v2 | |
if: matrix.operating-system == 'windows-latest' | |
with: | |
path: ~\AppData\Local\pip\Cache | |
key: ${{ matrix.operating-system }}-${{ matrix.python-version }}-${{ hashFiles('**/setup.py')}} | |
restore-keys: ${{ matrix.operating-system }}-${{ matrix.python-version }}- | |
- name: Update pip | |
run: python -m pip install --upgrade pip | |
- name: Lint with flake8, black and isort | |
run: | | |
pip install -e .[dev] | |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | |
black . --check --config pyproject.toml | |
isort -c . | |
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=120 --statistics | |
- name: Install Numpy | |
run: > | |
pip install numpy | |
- name: Install PyTorch on Linux and Windows | |
if: > | |
matrix.operating-system == 'ubuntu-latest' || | |
matrix.operating-system == 'windows-latest' | |
run: > | |
pip install torch==${{ matrix.torch-version }}+cpu | |
-f https://download.pytorch.org/whl/torch_stable.html | |
- name: Install PyTorch on MacOS | |
if: matrix.operating-system == 'macos-latest' | |
run: pip install torch==${{ matrix.torch-version }} | |
- name: Install whisperplus package from local setup.py | |
run: > | |
pip install -e . | |
- name: Unittest whisperplus | |
run: | | |
python -m unittest |