Skip to content

Test ESMF from conda and remainder PyPI deps #1070

Test ESMF from conda and remainder PyPI deps

Test ESMF from conda and remainder PyPI deps #1070

Workflow file for this run

name: "xscen Testing Suite"
on:
push:
branches:
- main
paths-ignore:
- HISTORY.rst
- setup.cfg
- setup.py
- xscen/__init__.py
pull_request:
jobs:
black:
name: Code Style Compliance
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
steps:
- name: Cancel previous runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.9"
- name: Install tox
run: |
pip install tox
- name: Run linting suite
run: |
tox -e black
testing-pypi:
name: Test with Python${{ matrix.python-version }} (tox)
needs: black
runs-on: ubuntu-latest
env:
ESMF_VERSION: "v8.4.2"
strategy:
fail-fast: false
matrix:
include:
- python-version: "3.9"
# tox-env: "py39-esmpy-coveralls"
- python-version: "3.10"
# tox-env: "py310-esmpy-coveralls"
- python-version: "3.11"
# tox-env: "py311-esmpy-coveralls"
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v4
- name: Install NetCDF
run: |
sudo apt-get -y update
sudo apt install libnetcdf-dev libnetcdff-dev
- name: Cache ESMF
uses: actions/cache@v3
with:
path: $HOME/.esmf-cache
key: ubuntu-latest-esmf_${{ env.ESMF_VERSION }}
- name: Set up Python${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install ESMF
uses: esmf-org/install-esmf-action@v1
env:
ESMF_NETCDF: nc-config
with:
cache: true
esmpy: true
version: ${{ env.ESMF_VERSION }}
- name: Compile language catalogs
run: |
make translate
- name: Install xscen
run: |
pip install --editable ".[dev]"
- name: Check versions
run: |
pip list
pip check
- name: Test with pytest
run: |
pytest tests
- name: Report coverage
run: |
coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: run-Python${{ matrix.python-version }}
COVERALLS_PARALLEL: true
COVERALLS_SERVICE_NAME: github
# - name: Install tox-current-env
# run: |
# pip install tox tox-conda tox-current-env
# - name: Test with tox
# run: |
# tox -vv -e ${{ matrix.tox-build }} --current-env
# env:
# CONDA_EXE: mamba
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
testing-conda:
name: Test with Python${{ matrix.python-version }} (Anaconda)
needs: black
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v4
- name: Setup Conda (Micromamba) with Python ${{ matrix.python-version }}
uses: mamba-org/setup-micromamba@v1
with:
cache-downloads: true
environment-file: environment.yml
create-args: >-
coveralls
mamba
python=${{ matrix.python-version }}
pytest
pytest-cov
xdoctest
- name: Conda and Mamba versions
run: |
mamba --version
echo "micromamba $(micromamba --version)"
- name: Compile catalogs and install xscen
run: |
make translate
pip install --editable .
- name: Check versions
run: |
conda list
pip check
- name: Test with pytest
run: |
pytest tests
- name: Report coverage
run: |
coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: run-Python${{ matrix.python-version }}-conda
COVERALLS_PARALLEL: true
COVERALLS_SERVICE_NAME: github
finish:
needs:
- testing-pypi
- testing-conda
runs-on: ubuntu-latest
container: python:3-slim
steps:
- name: Coveralls Finished
run: |
pip install --upgrade coveralls
coveralls --finish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_SERVICE_NAME: github