[pre-commit.ci] pre-commit autoupdate #770
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: xskillscore testing | |
on: | |
pull_request: | |
workflow_dispatch: # allows you to trigger manually | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
detect-ci-trigger: | |
name: detect ci trigger | |
runs-on: ubuntu-latest | |
outputs: | |
triggered: ${{ steps.detect-trigger.outputs.trigger-found }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 2 | |
- uses: xarray-contrib/[email protected] | |
id: detect-trigger | |
with: | |
keyword: "[skip-ci]" | |
test: # Runs testing suite on various python versions. | |
name: Test xskillscore, python ${{ matrix.python-version }} | |
runs-on: ubuntu-latest | |
needs: detect-ci-trigger | |
if: needs.detect-ci-trigger.outputs.triggered == 'false' | |
defaults: | |
run: | |
shell: bash -l {0} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up conda | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
auto-update-conda: true | |
channels: conda-forge | |
mamba-version: '*' | |
activate-environment: xskillscore-minimum-tests | |
python-version: ${{ matrix.python-version }} | |
- name: Set up conda environment | |
run: | | |
mamba env update -f ci/minimum-tests.yml | |
- name: Conda info | |
run: conda info | |
- name: Conda list | |
run: conda list | |
- name: Run tests | |
run: | | |
pytest -n 4 --cov=xskillscore --cov-report=xml --verbose | |
- name: Upload coverage to codecov | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: ./coverage.xml | |
fail_ci_if_error: false | |
doctest: # Tests all docstrings | |
name: Doctests | |
runs-on: ubuntu-latest | |
needs: detect-ci-trigger | |
if: needs.detect-ci-trigger.outputs.triggered == 'false' | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
auto-update-conda: true | |
channels: conda-forge | |
mamba-version: "*" | |
activate-environment: xskillscore-minimum-tests | |
python-version: 3.9 | |
- name: Set up conda environment | |
run: | | |
mamba env update -f ci/minimum-tests.yml | |
- name: Install xskillscore | |
run: | | |
python -m pip install --no-deps -e . | |
- name: Conda info | |
run: conda info | |
- name: Conda list | |
run: conda list | |
- name: Run doctests | |
run: | | |
python -m pytest --doctest-modules xskillscore --ignore xskillscore/tests | |
docs_notebooks: # Checks that pre-compiled notebooks in docs still work. | |
runs-on: ubuntu-latest | |
needs: detect-ci-trigger | |
if: needs.detect-ci-trigger.outputs.triggered == 'false' | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up conda | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
auto-update-conda: true | |
channels: conda-forge | |
mamba-version: "*" | |
activate-environment: xskillscore-docs-notebooks | |
python-version: 3.9 | |
- name: Set up conda environment | |
run: | | |
mamba env update -f ci/docs_notebooks.yml | |
- name: Conda info | |
run: conda info | |
- name: Conda list | |
run: conda list | |
- name: Test notebooks in docs | |
run: | | |
pushd docs | |
nbstripout source/*.ipynb | |
make -j4 html | |
popd |