Tst/testing suite reestructuring #1194
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: PyTest | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
paths: | |
- "**.py" | |
- ".github/**" | |
jobs: | |
fail_if_pr_is_draft: | |
if: github.event.pull_request.draft == true | |
runs-on: ubuntu-18.04 | |
steps: | |
- name: Fails in order to indicate that pull request needs to be marked as ready to review and unit tests workflow needs to pass. | |
run: exit 1 | |
pytest_and_doctest: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
python-version: | |
- 3.8 | |
- 3.12 | |
env: | |
OS: ${{ matrix.os }} | |
PYTHON: ${{ matrix.python-version }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
- name: Build RocketPy (without optional dependencies) | |
run: | | |
pip install . | |
- name: Import rocketpy in python and test if it works | |
run: | | |
python -c "import sys, rocketpy; print(f'{rocketpy.__name__} running on Python {sys.version}')" | |
- name: Install optional dependencies | |
run: | | |
pip install -r requirements-tests.txt | |
- name: Test with pytest | |
run: | | |
pytest --cov=rocketpy --cov-report=xml | |
cd rocketpy | |
pytest --doctest-modules --cov=rocketpy --cov-report=xml | |
- name: Upload coverage report to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: ./coverage/reports/ | |
env_vars: OS,PYTHON | |
fail_ci_if_error: true | |
files: ./coverage.xml, ./rocketpy/coverage.xml | |
flags: unittests | |
name: codecov-umbrella | |
verbose: true |