-
Notifications
You must be signed in to change notification settings - Fork 24
60 lines (54 loc) · 2 KB
/
Copy pathci-pipeline.yml
File metadata and controls
60 lines (54 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
name: CI Pipeline
on:
push:
branches: [ master, development ]
pull_request:
branches: [ master, development ]
workflow_dispatch:
permissions:
contents: read
pull-requests: write
jobs:
main:
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@v4
- name: Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Dependency installation
run: |
sudo apt-get -y update
sudo apt-get -y install ffmpeg
sudo apt-get -y install espeak libespeak1 libespeak-dev espeak-data
sudo apt-get -y install libsndfile-dev
sudo apt-get -y install build-essential python3-dev
python -m pip install --upgrade pip
python -m pip install "setuptools<65.0.0" wheel
python -m pip install --no-build-isolation -e .
python -m pip install --no-build-isolation -e ".[stretch]"
python -m pip install --no-build-isolation -e ".[llm]"
python -m pip install --no-build-isolation -e ".[dev]"
python -m pip install --no-build-isolation -e ".[site]"
- name: Type checking
run: |
python -m mypy --follow-imports=normal subaligner
- name: Linting
run: |
pycodestyle subaligner tests examples misc bin/subaligner bin/subaligner_1pass bin/subaligner_2pass bin/subaligner_batch bin/subaligner_convert bin/subaligner_train bin/subaligner_tune --ignore=E203,E501,E902,W503 --exclude="subaligner/lib"
- name: Linting docstring
run: |
darglint -v 2 subaligner
- name: Unit tests and coverage
run: |
coverage run -m unittest discover
coverage combine
coverage xml
bash <(curl -s https://codecov.io/bash) -n patch -F 90
- name: Integration tests
run: |
radish -b tests/integration/radish tests/integration/feature