Skip to content

Continuous Integration #305

Continuous Integration

Continuous Integration #305

Workflow file for this run

name: Continuous Integration
on:
push:
branches:
- '*'
pull_request:
branches:
- '*'
schedule:
- cron: '59 21 * * *'
workflow_dispatch:
inputs:
version:
description: Manual Test Run
default: test
required: false
jobs:
unittests:
env:
FETCH_DATA: python -c 'from libpysal.examples import load_example as ex; [ex(e) for e in ["columbus", "desmith", "sids2", "stl"]]'
RUN_TEST: pytest esda -v -r a -n auto --cov esda --cov-config .coveragerc --cov-report xml --color yes --cov-append --cov-report term-missing
name: CI (${{ matrix.os }}, ${{ matrix.environment-file }})
runs-on: ${{ matrix.os }}
timeout-minutes: 25
strategy:
matrix:
os: [ubuntu-latest]
environment-file:
- ci/38-minimal.yaml
- ci/38-minimal-numba.yaml
- ci/39.yaml
- ci/39-numba.yaml
- ci/310.yaml
- ci/310-numba.yaml
- ci/310-DEV.yaml
- ci/310-numba-DEV.yaml
- ci/311.yaml
- ci/311-numba.yaml
- ci/311-DEV.yaml
- ci/311-numba-DEV.yaml
include:
- environment-file: ci/310-numba.yaml
os: macos-latest
- environment-file: ci/311.yaml
os: macos-latest
- environment-file: ci/310-numba.yaml
os: windows-latest
- environment-file: ci/311.yaml
os: windows-latest
fail-fast: false
steps:
- name: checkout repo
uses: actions/checkout@v3
- name: setup micromamba
uses: mamba-org/provision-with-micromamba@main
with:
micromamba-version: 'latest'
environment-file: ${{ matrix.environment-file }}
channel-priority: 'flexible'
- name: install bleeding edge libpysal (Ubuntu / Python 3.10)
shell: bash -l {0}
run: |
pip install git+https://github.com/pysal/libpysal.git@main
if: matrix.os == 'ubuntu-latest' && contains(matrix.environment-file, 'DEV')
- name: environment info
shell: bash -l {0}
run: |
micromamba info
micromamba list
- name: spatial versions
shell: bash -l {0}
run: 'python -c "import geopandas; geopandas.show_versions();"'
- name: run tests - bash
shell: bash -l {0}
run: |
${{ env.FETCH_DATA }}
${{ env.RUN_TEST }}
if: matrix.os != 'windows-latest'
- name: run tests - powershell
shell: powershell
run: |
${{ env.FETCH_DATA }}
${{ env.RUN_TEST }}
if: matrix.os == 'windows-latest'
- name: ${{ matrix.os }}, ${{ matrix.environment-file }}
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
name: esda-codecov