CI #2419
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- "*" | |
schedule: | |
- cron: "0 0 * * *" # Daily “At 00:00” | |
workflow_dispatch: # allows you to trigger manually | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash -l {0} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# Warning: Unless in quotations, numbers below are read as floats. 3.10 < 3.2 | |
- python-version: "3.8" | |
esmf-version: 8.2 | |
- python-version: "3.9" | |
esmf-version: 8.3 | |
- python-version: "3.10" | |
esmf-version: 8.4 | |
- python-version: "3.11" | |
esmf-version: 8.6 | |
- python-version: "3.12" | |
esmf-version: 8.6 | |
steps: | |
- name: Cancel previous runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Create conda environment | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
cache-downloads: true | |
micromamba-version: "latest" | |
environment-file: ci/environment.yml | |
extra-specs: | | |
python=${{ matrix.python-version }} | |
esmpy=${{ matrix.esmf-version }} | |
- name: Fix env for esmpy 8.4 | |
run: | | |
if [ "${{ matrix.esmf-version }}" == "8.4" ]; then | |
conda install "importlib-metadata<8.0.0" | |
fi | |
- name: Install Xesmf (editable) | |
run: | | |
python -m pip install --no-deps -e . | |
- name: Conda list information | |
run: | | |
conda env list | |
conda list | |
- name: Run tests | |
run: | | |
python -m pytest --cov=./ --cov-report=xml --verbose | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
file: ./coverage.xml | |
fail_ci_if_error: false | |
upstream-dev: | |
name: upstream-dev | |
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 | |
- name: Create conda environment | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
cache-downloads: true | |
micromamba-version: "latest" | |
environment-file: ci/environment-upstream-dev.yml | |
extra-specs: | | |
python=3.10 | |
- name: Install Xesmf (editable) | |
run: | | |
python -m pip install -e . | |
- name: Conda list information | |
run: | | |
conda env list | |
conda list | |
- name: Run tests | |
run: | | |
python -m pytest --cov=./ --cov-report=xml --verbose |