Skip to content

CI: Install numpy before netcdf4 for pytest-min-version #707

CI: Install numpy before netcdf4 for pytest-min-version

CI: Install numpy before netcdf4 for pytest-min-version #707

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: Python package
on:
push:
branches-ignore:
- master
pull_request:
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
pytest:
runs-on: ubuntu-latest
if: always()
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.x"]
fail-fast: false
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
sudo apt-get update && sudo apt-get install libhdf5-dev libnetcdf-dev
python -m pip install --upgrade pip
- name: Install package
run: |
pip install -e .[calc,tests]
- name: Test with pytest
run: |
pytest -vv --long --cov
# test with oldest supported version of packages
pytest-min-versions:
runs-on: ubuntu-latest
if: always()
strategy:
matrix:
python-version: ["3.8"]
fail-fast: false
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
sudo apt-get update && sudo apt-get install libhdf5-dev libnetcdf-dev
python -m pip install --upgrade pip
# Install numpy first because this version of netcdf4 will install from source and needs it at build-time
pip install --upgrade numpy==1.18.0
pip install --upgrade boutdata==0.1.4 xarray==0.18.0 dask==2.10.0 natsort==5.5.0 matplotlib==3.1.1 animatplot==0.4.2 netcdf4==1.5.0 Pillow==6.1.0
- name: Install package
run: |
pip install -e .[tests]
- name: Test with pytest
run: |
pytest -vv --long --cov
# Need to tidy up the things that flake8 finds before we activate this
#flake8:
# runs-on: ubuntu-latest
# if: always()
# steps:
# - uses: actions/checkout@v2
# - name: Set up Python
# uses: actions/setup-python@v1
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# - name: Lint with flake8
# run: |
# pip install flake8
# flake8