Skip to content

Guidelines

Lukas Weber edited this page Apr 2, 2021 · 4 revisions

Contributor guidelines for core developers

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 into master branch, and pushes to upstream (i.e. Bioc-devel). If the assigned reviewer is busy, then feel free to discuss with the other core developers and re-assign. The master 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 the x.y.z Bioconductor versioning system.

  • PRs should pass devtools::check() and BiocCheck::BiocCheck() without warnings or errors. (However BiocCheck::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-devel upstream in sync, by pushing changes to Bioc-devel upstream after they are merged into GitHub master. (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 by devtools::check() or BiocCheck::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.

Clone this wiki locally