Skip to content

Test ESMF from conda and remainder PyPI deps #1077

Test ESMF from conda and remainder PyPI deps

Test ESMF from conda and remainder PyPI deps #1077

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
strategy:
fail-fast: false
matrix:
esmf-version: ["8.4.2"]
include:
- python-version: "3.9"
tox-build: "py39-esmpy-coveralls"
- python-version: "3.10"
tox-build: "py310-esmpy-coveralls"
- python-version: "3.11"
tox-build: "py311-esmpy-coveralls"
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: >-
esmf=${{ matrix.esmf-version }}
mamba
python=${{ matrix.python-version }}
tox
- name: Test with tox
run: |
tox -e ${{ matrix.tox-build }}
env:
ESMF_VERSION: ${{ matrix.esmf-version }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: run-Python${{ matrix.python-version }}
COVERALLS_PARALLEL: true
COVERALLS_SERVICE_NAME: github
# - name: Compile language catalogs
# run: |
# make translate
# - name: Install esmpy
# run: |
# pip install git+https://github.com/esmf-org/esmf.git@v${{ matrix.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
# - name: Report coverage
# run: |
# coveralls
# env:
# ESMF_VERSION: ${{ matrix.esmf-version }}
# 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 --no-deps --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