[WIP] Support DOT inputs (and multigraphs); much improved boundary node splitting in pattern identification; add back frayed rope support; lots of other improvements #37
Workflow file for this run
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 | |
name: MgSc Python CI | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# Gotta specify 3.10 as a string to avoid it being converted to 3.1: | |
# https://github.com/actions/setup-python/issues/160, | |
# https://github.com/fedarko/pyfastg/blob/master/.github/workflows/main.yml | |
python-version: [3.6, 3.7, 3.8, 3.9, "3.10"] | |
steps: | |
# https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
- name: Check out code | |
uses: actions/checkout@v3 | |
# https://github.com/conda-incubator/setup-miniconda#example-3-other-options | |
- name: Install conda dependencies | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: mgsc | |
environment-file: environment.yml | |
python-version: ${{ matrix.python-version }} | |
- name: Install MetagenomeScope (and its pip dependencies) | |
run: conda run -n mgsc pip install -e .[dev] | |
# I think later versions of black (e.g. 23.1) changed things in ways that | |
# will cause this to fail. Since not all black versions support all | |
# python versions, the easiest solution is to just only do stylechecking | |
# when we're working with python 3.6. | |
# See https://stackoverflow.com/q/73598359 re: "if" expressions here. | |
- name: Lint and stylecheck the Python code | |
if: ${{ matrix.python-version == 3.6 }} | |
run: conda run -n mgsc make pystylecheck | |
- name: Run Python tests | |
run: conda run -n mgsc make pytest | |
- name: Upload Python code coverage information to Codecov | |
uses: codecov/codecov-action@v2 |