Skip to content

[WIP] Support DOT inputs (and multigraphs); much improved boundary node splitting in pattern identification; add back frayed rope support; lots of other improvements #37

[WIP] Support DOT inputs (and multigraphs); much improved boundary node splitting in pattern identification; add back frayed rope support; lots of other improvements

[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

# 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