diff --git a/.github/workflows/release_and_publish.yml b/.github/workflows/release_and_publish.yml index 9ba244e6..7e96dcfb 100644 --- a/.github/workflows/release_and_publish.yml +++ b/.github/workflows/release_and_publish.yml @@ -15,7 +15,7 @@ jobs: uses: actions/checkout@v3 - name: Set up python - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: "3.x" diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index 9ee8ad7a..56f8df0d 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -1,4 +1,5 @@ name: Continuous Integration + on: push: branches: @@ -15,14 +16,7 @@ on: default: test required: false jobs: - linting: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - - uses: pre-commit/action@v3.0.0 testing: - needs: linting env: RUN_TEST: pytest splot -v -r a --cov splot --cov-config .coveragerc --cov-report xml --color yes --cov-append --cov-report term-missing name: ${{ matrix.os }}, ${{ matrix.environment-file }} @@ -33,33 +27,35 @@ jobs: os: [ubuntu-latest] environment-file: - ci/38-MIN.yaml - - ci/38-BASE.yaml - - ci/39-BASE.yaml - - ci/310-BASE.yaml - - ci/310-DEV.yaml - - ci/310-DEV_shapely_dev.yaml + - ci/38.yaml + - ci/39.yaml + - ci/310.yaml + - ci/311.yaml + - ci/311-DEV.yaml include: - - environment-file: ci/310-BASE.yaml + - environment-file: ci/311.yaml os: macos-latest - - environment-file: ci/310-BASE.yaml + - environment-file: ci/311.yaml os: windows-latest fail-fast: false + defaults: + run: + shell: bash -l {0} + steps: - name: checkout repo uses: actions/checkout@v3 - name: setup micromamba - uses: mamba-org/provision-with-micromamba@main + uses: mamba-org/setup-micromamba@v1 with: environment-file: ${{ matrix.environment-file }} micromamba-version: 'latest' - channel-priority: 'flexible' - name: install bleeding edge PySAL submodules (only Ubuntu / Python 3.10) - shell: bash -l {0} run: | - pip install git+https://github.com/pysal/libpysal.git@master + pip install git+https://github.com/pysal/libpysal.git@main pip install git+https://github.com/pysal/mapclassify.git@main pip install git+https://github.com/pysal/esda.git@main pip install git+https://github.com/pysal/spreg.git@main @@ -67,42 +63,42 @@ jobs: if: matrix.os == 'ubuntu-latest' && contains(matrix.environment-file, 'DEV') - name: install libpysal example datasets - shell: bash -l {0} - run: python -c 'import libpysal; libpysal.examples.load_example("Guerry"); libpysal.examples.load_example("Rio Grande do Sul")' + run: | + python -c 'import libpysal; libpysal.examples.load_example("Guerry"); libpysal.examples.load_example("Rio Grande do Sul")' - name: install and import splot - shell: bash -l {0} run: | python -m pip install --no-deps -e . python -c 'import splot' - name: copy matplotlibrc - shell: bash -l {0} run: cp utils/matplotlibrc . - 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.RUN_TEST }} - if: matrix.os != 'windows-latest' - - - name: run tests - powershell - shell: powershell - run: ${{ env.RUN_TEST }} - if: matrix.os == 'windows-latest' - + - name: run tests + run: | + pytest splot -v -r a --cov splot --cov-config .coveragerc --cov-report xml --color yes --cov-append --cov-report term-missing + - name: codecov - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} file: ./coverage.xml name: splot-codecov + + - name: Generate and publish the report + if: | + failure() + && steps.status.outcome == 'failure' + && github.event_name == 'schedule' + && github.repository_owner == 'pysal' + uses: xarray-contrib/issue-from-pytest-log@v1 + with: + log-path: pytest-log.jsonl diff --git a/README.md b/README.md index 94f16f10..59b9f454 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # splot -[![unittests](https://github.com/pysal/splot/workflows/.github/workflows/unittests.yml/badge.svg)](https://github.com/pysal/splot/actions?query=workflow%3A.github%2Fworkflows%2Funittests.yml) +[![Continuous Integration](https://github.com/pysal/splot/actions/workflows/unittests.yml/badge.svg)](https://github.com/pysal/splot/actions/workflows/unittests.yml) [![codecov](https://codecov.io/gh/pysal/splot/branch/main/graph/badge.svg)](https://codecov.io/gh/pysal/splot) [![Documentation Status](https://readthedocs.org/projects/splot/badge/?version=latest)](https://splot.readthedocs.io/en/latest/?badge=latest) [![PyPI version](https://badge.fury.io/py/splot.svg)](https://badge.fury.io/py/splot) diff --git a/ci/310-BASE.yaml b/ci/310.yaml similarity index 100% rename from ci/310-BASE.yaml rename to ci/310.yaml diff --git a/ci/310-DEV.yaml b/ci/311-DEV.yaml similarity index 94% rename from ci/310-DEV.yaml rename to ci/311-DEV.yaml index 14959ad1..ed7b648d 100644 --- a/ci/310-DEV.yaml +++ b/ci/311-DEV.yaml @@ -2,7 +2,7 @@ name: test channels: - conda-forge dependencies: - - python=3.10 + - python=3.11 # testing - codecov - pytest diff --git a/ci/310-DEV_shapely_dev.yaml b/ci/311.yaml similarity index 69% rename from ci/310-DEV_shapely_dev.yaml rename to ci/311.yaml index fb821a2b..80d93a7c 100644 --- a/ci/310-DEV_shapely_dev.yaml +++ b/ci/311.yaml @@ -1,23 +1,26 @@ name: test channels: - conda-forge - - conda-forge/label/shapely_dev dependencies: - - python=3.10 + - python=3.11 # testing - codecov - pytest - pytest-cov # required - bokeh - - geopandas>=0.12.0 + - esda + - geopandas + - giddy - ipywidgets + - libpysal + - mapclassify - matplotlib - numpy - packaging - pip - - seaborn - - shapely>=2.0b1 + - seaborn>=0.11.0 + - spreg # formatting - black - flake8 diff --git a/ci/38-BASE.yaml b/ci/38.yaml similarity index 100% rename from ci/38-BASE.yaml rename to ci/38.yaml diff --git a/ci/39-BASE.yaml b/ci/39.yaml similarity index 100% rename from ci/39-BASE.yaml rename to ci/39.yaml