Skip to content

make integration tests more tolerant #372

make integration tests more tolerant

make integration tests more tolerant #372

Workflow file for this run

name: ffsubsync
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ 'ubuntu-latest', 'windows-latest' ]
python-version: [ '3.7', '3.8', '3.9', '3.10', '3.11', '3.12' ]
include:
- python-version: '3.7'
os: 'macos-13'
- python-version: '3.8'
os: 'macos-13'
- python-version: '3.9'
os: 'macos-13'
- python-version: '3.10'
os: 'macos-latest'
- python-version: '3.11'
os: 'macos-latest'
- python-version: '3.12'
os: 'macos-latest'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: smacke/submodule-checkout@v3
if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version != '3.10'}}
with:
ssh-key: '${{ secrets.TEST_DATA_SECRET }}'
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install -e .
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
#flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
#flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
flake8 . --exit-zero
- name: Run unit tests with pytest (no coverage)
if: matrix.os != 'ubuntu-latest'
run: |
pytest --cov-config=.coveragerc --cov-report= --cov=ffsubsync -v -m 'not integration' tests/
- name: Run unit tests with pytest (with coverage)
if: matrix.os == 'ubuntu-latest'
run: |
pytest --cov-config=.coveragerc --cov-report=xml:cov.xml --cov=ffsubsync -v -m 'not integration' tests/
- name: Run integration tests with pytest
if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version != '3.10'}}
run: |
INTEGRATION=1 pytest --cov-config=.coveragerc --cov-report=xml:cov.xml --cov=ffsubsync -v -m 'integration' tests/
- name: Upload coverage report
if: matrix.os == 'ubuntu-latest'
uses: codecov/codecov-action@v1
with:
token: '${{ secrets.CODECOV_TOKEN }}'
files: ./cov.xml
env_vars: PYTHON
name: codecov-umbrella
fail_ci_if_error: true
verbose: true