Skip to content

pytest

pytest #18

Workflow file for this run

name: pytest
on:
# Triggers the workflow on push events
push:
branches: [ 'main' ]
tags-ignore: [ '**' ]
# Triggers the workflow on pull request events
pull_request:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
pylint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install pylint
run: |
python -m pip install --upgrade pip
python -m pip install -e .[tests]
- name: Code check
run: pylint --rcfile=.pylintrc --output-format=parseable:pylint.log,text tests ifsbench scripts
pytest:
strategy:
fail-fast: false
matrix:
platform: ["ubuntu-latest", "macos-latest"]
python-version: ['3.8', '3.9', '3.10', '3.11']
name: Run pytest with Python ${{ matrix.python-version }} on ${{ matrix.platform }}
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[tests]
- name: Run pytest
uses: pavelzw/pytest-action@v2
with:
verbose: true
emoji: false
job-summary: true
custom-arguments: ~
click-to-expand: true
report-title: "Test report (python ${{ matrix.python-version }} on ${{ matrix.platform }})"
custom-pytest: pytest --cov --cov-report=xml
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}