MNT: move SciPy vsn checking stuff to sep file #39
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
# Based on | |
# https://github.com/fedarko/strainFlye/blob/main/.github/workflows/main.yml, | |
# which was in turn "[based] roughly on the main.yml and standalone.yml | |
# workflows in | |
# https://github.com/biocore/empress/blob/master/.github/workflows/, | |
# and on https://docs.github.com/en/actions/quickstart". It's copy-and-paste | |
# all the way down baybee | |
name: wotplot CI | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] | |
steps: | |
# Updating from v2 to v3 to match, as of writing, | |
# https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
- name: Check out code | |
uses: actions/checkout@v3 | |
# Set up a conda env using mamba (which is much faster than conda). | |
# We can use "create-args" to adjust the python version; based on | |
# https://github.com/mamba-org/setup-micromamba/issues/51#issue-1688507017 | |
- name: Install conda dependencies | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-file: environment.yml | |
create-args: python=${{ matrix.python-version }} | |
init-shell: bash | |
# We've gotta use "bash -el {0}" in order to actually use the shell that | |
# has the environment activated. I am not 100% clear on why this is the | |
# case (I'm just following what github.com/mamba-org/setup-micromamba | |
# says), but if you take out the "-el {0}" part and just say | |
# "shell: bash" here then all of this stuff doesn't run in the conda | |
# environment we just created. | |
- name: Sanity check echo python version | |
run: python --version | |
shell: bash -el {0} | |
- name: Sanity check echo python location | |
run: which python | |
shell: bash -el {0} | |
- name: Sanity check echo pip version | |
run: pip --version | |
shell: bash -el {0} | |
- name: Sanity check echo pip location | |
run: which pip | |
shell: bash -el {0} | |
# use a specific opencv-python version to prevent wasting ~30 minutes | |
# building opencv; from https://stackoverflow.com/a/63669919 | |
- name: Install wotplot and pip dependencies (Python = 3.6) | |
if: ${{ matrix.python-version == '3.6' }} | |
run: | | |
pip install opencv-python==4.3.0.38 | |
pip install -e .[dev] | |
shell: bash -el {0} | |
- name: Install wotplot and pip dependencies (Python > 3.6) | |
if: ${{ matrix.python-version != '3.6' }} | |
run: pip install -e .[dev] | |
shell: bash -el {0} | |
- name: Lint and stylecheck | |
run: make stylecheck | |
shell: bash -el {0} | |
- name: Run tests | |
run: make test | |
shell: bash -el {0} | |
- name: Upload code coverage information to Codecov | |
uses: codecov/codecov-action@v2 |