Skip to content

pytest-all

pytest-all #29

Workflow file for this run

name: pytest-all
on:
# Trigger the workflow on push or pull request,
# but only for the main branch
push:
branches:
- main
pull_request:
branches:
- main
- development
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11"]
path: [pynucastro, examples, docs]
steps:
- uses: actions/checkout@v3
- name: Install Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Cache pip
uses: actions/cache@v3
with:
# this path is specific to Ubuntu
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Install pynucastro
run: pip install --editable .
- name: Print system info
run: |
pip install threadpoolctl &>/dev/null
python -c "import sys, numpy; print(numpy.__version__); print(sys.version); print(numpy.show_runtime())"
echo
lscpu
- name: Run tests with pytest
run: pytest -v -s --nbval --cov=pynucastro ${{ matrix.path }}
- name: Upload output from failed write_network tests
uses: actions/upload-artifact@v3
if: ${{ matrix.path == 'pynucastro' && failure() }}
with:
name: failed_networks_${{ matrix.python-version }}
path: _test_*/
if-no-files-found: ignore
retention-days: 5