Skip to content

Pyfive Test

Pyfive Test #54

Workflow file for this run

# 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: Pyfive Test
on:
push:
branches: [ master, modernize_package ] # leave only "master" after PR69 is merged
pull_request:
branches: [ master ]
schedule:
- cron: '0 0 * * *' # nightly
# Required shell entrypoint to have properly configured bash shell
defaults:
run:
shell: bash -l {0}
jobs:
build:
name: Test Python ${{ matrix.python-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: pyfive
environment-file: environment.yml
python-version: ${{ matrix.python-version }}
miniforge-version: "latest"
use-mamba: true
- name: Install Pyfive Test Mode
run: |
mamba install -c conda-forge pip
pip install -e .[test]
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Check environment contents
run: |
conda list
pip list
- name: Test with pytest
run: |
pytest -n 2