-
Notifications
You must be signed in to change notification settings - Fork 20
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
master
branch. 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 intomaster
branch, 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. Themaster
branch 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
NEWS
describing the changes. The version bump will trigger the Bioc-devel build. Each version bump should increment.z
in thex.y.z
Bioconductor 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
master
branch and Bioc-develupstream
in sync, by pushing changes to Bioc-develupstream
after 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.