Skip to content

add CI system - #1389

Merged
gaow merged 9 commits into
mainfrom
ci_add
Jul 21, 2026
Merged

add CI system#1389
gaow merged 9 commits into
mainfrom
ci_add

Conversation

@danielnachun

@danielnachun danielnachun commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

In this PR I have added a CI system so that we can actually test some of our notebooks when we make PRs to change them. Here are the details:

  • It uses pytest as the unit-testing framework. This is a Python-based framework which can be used to unit test any language, not just Python
  • There is no notion of testing "coverage" for Jupyter notebooks, but as we've discussed, this shouldn't be a significant concern because I was very strict about simplifying notebook cells so that they don't have complex logic in them
  • In addition to notebook unit tests, we have wrapper script unit tests. These are R scripts which could hypothetically be tested with testthat and assessed for coverage with covr, but we have also discussed that we want our R scripts which interact with pecotmr to just be thing wrappers that process arguments, read and write results and make plots. For this reason at the moment we aren't doing anything other than just running them with the test data, though if we end up needing to keep more complex scripts in the pipeline in the future, we may have to use testthat and covr for them.
  • The test data is all taken from the MWE with only the modifications needed to work here:
    • Data in legacy formats were converted to pecotmr S4 classes
    • Files which were too large to be reasonably committed to GitHub were subsetted. There are some caveats in that certain methods are intended to be run chromosome or genome-wide and will not produce very good estimates from small test fixtures, but we'll still know that they work overall and that is what matters right now.
  • The CI workflow can be dispatched without a PR by launching it from the Actions page
  • The pecotmr version is currently pinned the latest stable conda package. We probably want to stick to this, but we could also build the latest package from source if we prefer that.

@gaow
gaow merged commit c5911db into main Jul 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants