Skip to content

Test ESMF from conda and remainder PyPI deps #1074

Test ESMF from conda and remainder PyPI deps

Test ESMF from conda and remainder PyPI deps #1074

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 }} (PyPI)
needs: black
runs-on: ubuntu-latest
env:
ESMF_VERSION: "v8.4.2"
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "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-name: xscen-pypi
create-args: >-
coveralls
esmf
mamba
python=${{ matrix.python-version }}
- name: Compile language catalogs
run: |
make translate
- name: Install esmpy
run: |
pip install git+https://github.com/esmf-org/esmf.git@${{ env.ESMF_VERSION }}#subdirectory=src/addon/esmpy
- name: Install xscen
run: |
pip install --editable ".[dev]"
- name: Check versions
run: |
pip list
pip check
- name: Test with pytest
run: |
pytest tests --mark "not requires_netcdf"
- 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:
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-dev.yml
create-args: >-
mamba
python=${{ matrix.python-version }}
- name: Conda and Mamba versions
run: |
mamba --version
echo "micromamba $(micromamba --version)"
- name: Compile catalogs and install xscen
run: |
make translate
pip install --editable --no-deps .
- 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