-
Notifications
You must be signed in to change notification settings - Fork 21
Guidelines
This page summarizes our contributor guidelines for the core developers of the SpatialExperiment package.
-
Proposed changes should be prepared as pull requests (PRs) in branches forked from
masterbranch. The developer preparing the PR then assigns one of the other core developers as reviewer in the GitHub PR. The reviewer checks the PR, suggests any changes in comments in the PR, then approves the PR, merges it intomasterbranch, and pushes toupstream(i.e. Bioc-devel). If the assigned reviewer is busy, then feel free to discuss with the other core developers and re-assign. Themasterbranch is protected in GitHub settings, requiring at least one approval from an assigned reviewer before merging a PR. -
Each PR should be relatively small, i.e. address one specific design issue, bug fix, change to one function, small set of unit tests, small piece of documentation, etc. (During the initial design stages we may also have some larger PRs, but we will discuss these first in Slack, and possibly assign two reviewers in these cases.)
-
Each PR should have a version bump and a corresponding short entry in
NEWSdescribing the changes. The version bump will trigger the Bioc-devel build. Each version bump should increment.zin thex.y.zBioconductor versioning system. -
PRs should pass
devtools::check()andBiocCheck::BiocCheck()without warnings or errors. (HoweverBiocCheck::BiocCheck()also has some additional notes that we may not necessarily be following.) -
When possible, we will try to keep GitHub
masterbranch and Bioc-develupstreamin sync, by pushing changes to Bioc-develupstreamafter they are merged into GitHubmaster. (During the initial design stages, we may occasionally have multiple related PRs for a single major design issue -- in these cases it makes sense to wait to push the combined set of changes.) -
After pushing to
upstream, the Bioconductor build reports may occasionally return additional warnings or errors, which were not shown bydevtools::check()orBiocCheck::BiocCheck(), e.g. from checks on different operating systems. In these cases we can address these issues as they arise. -
We will also maintain a GitHub Actions checks workflow to streamline the checking procedures (although the Bioconductor build reports will generally be more comprehensive, e.g. across multiple operating systems).
-
Wherever possible, we will adopt the Bioconductor style guidelines, e.g. as described on the Bioconductor website. We will also aim for comprehensive unit test and documentation coverage.