Skip to content

Testing

Testing #227

Workflow file for this run

# This workflow will install Python dependencies, run tests, run linting, and test building docs
name: Testing
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch: # For on demand runs
schedule:
- cron: 0 0 * * * # Scheduled run every day at midnight
jobs:
build:
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.9, '3.10', '3.11']
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: |
pip install pip setuptools wheel --upgrade
# Install spacepy without build isolation to avoid issues with numpy
pip install numpy==1.26.3
pip install spacepy==0.4.1 --no-build-isolation
pip install -e .[test]
if: ${{ !(matrix.platform == 'windows-latest' && matrix.python-version == '3.11') }}
- name: Run tests
run: pytest --pyargs hermes_merit --cov hermes_merit
env:
PLATFORM: ${{ matrix.platform }}
# Skip Windows Python 3.11 tests until SpacePy is updated
if: ${{ !(matrix.platform == 'windows-latest' && matrix.python-version == '3.11') }}
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
# Skip Windows Python 3.11 tests until SpacePy is updated
if: ${{ !(matrix.platform == 'windows-latest' && matrix.python-version == '3.11') }}