capture and print test_scripts output for debugging CI-testing #3 #775
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
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: Python [3.7,3.8,3.9,3.10,3.11,3.12] Linux | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
workflow_dispatch: | |
env: | |
BEZIER_NO_EXTENSION: true | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
python-version: [3.7, 3.8, 3.9, '3.10', '3.11','3.12'] | |
exclude: | |
- python-version: "3.7" | |
os: ubuntu-latest | |
include: | |
- python-version: "3.7" | |
os: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
### Python 3.7 block | |
- name: Conditionally set up conda for Python 3.7 | |
if: ${{ matrix.python-version == '3.7' }} | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
auto-update-conda: true | |
- name: If Python is 3.7 install openmm via conda | |
if: ${{ matrix.python-version == '3.7' }} | |
run: conda install openmm -c conda-forge -y | |
shell: bash | |
- name: If Python is 3.7 install dependencies in conda base environment | |
if: ${{ matrix.python-version == '3.7' }} | |
run: | | |
conda run --live-stream -n base python -m pip install --upgrade pip | |
conda run --live-stream -n base pip install pytest pytest-cov pytest-xdist | |
shell: bash | |
- name: If Python is 3.7 install package in conda base environment | |
if: ${{ matrix.python-version == '3.7' }} | |
run: | | |
conda run --live-stream -n base pip install --upgrade pip | |
conda run --live-stream -n base pip install --upgrade setuptools | |
conda run --live-stream -n base pip install -e . | |
conda run --live-stream -n base pip freeze | |
shell: bash | |
- name: If Python is 3.7 test with pytest and coverage Linux 8 threads in conda base environment | |
if: ${{ matrix.python-version == '3.7' }} | |
run: | | |
echo -e '[run]\nomit = *dihedrals.py,*contact_matrix.py' > .coveragerc | |
conda run --live-stream --live-stream -n base pytest -n 8 -v -s --cov=./ --cov-report=xml --disable-warnings --cov-config=.coveragerc | |
shell: bash | |
#### End Python 3.7 block | |
- name: If Python != 3.7 install dependencies normally | |
if: ${{ matrix.python-version != '3.7' }} | |
run: | | |
python -m pip install --upgrade pip | |
pip install pytest pytest-cov pytest-xdist | |
- name: If Python != 3.7 install package normaly | |
if: ${{ matrix.python-version != '3.7' }} | |
run: | | |
pip install --upgrade pip | |
pip install --upgrade setuptools | |
pip install -e . | |
pip freeze | |
- name: If Python != 3.7 test with pytest and coverage Linux 8 threads normally | |
if: ${{ matrix.python-version != '3.7' }} | |
run: | | |
echo -e '[run]\nomit = *dihedrals.py,*contact_matrix.py' > .coveragerc | |
pytest -n 8 -vs --cov=./ --cov-report=xml --disable-warnings --cov-config=.coveragerc | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
#directory: ./coverage/reports/ | |
flags: unittests | |
env_vars: OS,PYTHON | |
name: codecov-umbrella | |
fail_ci_if_error: true | |
#path_to_write_report: ./coverage/codecov_report.gz | |