| name: CI | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| push: | |
| branches: | |
| - main | |
| - ci-* | |
| env: | |
| HF_ALLOW_CODE_EVAL: 1 | |
| jobs: | |
| check_code_quality: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.7" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install .[quality] | |
| - name: Check quality | |
| run: | | |
| black --check --line-length 119 --target-version py36 tests src metrics comparisons measurements | |
| isort --check-only tests src metrics comparisons measurements | |
| flake8 tests src metrics | |
| test: | |
| needs: check_code_quality | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| test: ['unit', 'parity'] | |
| os: [ubuntu-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Python 3.7 | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.7" | |
| - name: Upgrade pip | |
| run: python -m pip install --upgrade pip | |
| - name: Install dependencies | |
| run: | | |
| pip install .[tests] | |
| pip install -r additional-tests-requirements.txt --no-deps | |
| - name: Test with pytest | |
| if: ${{ matrix.test == 'unit' }} | |
| run: | | |
| python -m pytest -n 2 --dist loadfile -sv ./tests/ --ignore=./tests/test_trainer_evaluator_parity.py | |
| - name: Integration test with transformers | |
| if: ${{ matrix.test == 'parity' }} | |
| run: | | |
| python -m pytest -n 2 --dist loadfile -sv ./tests/test_trainer_evaluator_parity.py | |