This document explains how one can contribute to LearnPCA
.
This project is released with a Contributor Code of Conduct. By contributing, you agree to abide by its terms.
LearnPCA
is distributed under the GPL-3 license, as stated in the DESCRIPTION file. For more info, see the GPL site. By contributing, you agree that your contributions will be licensed in the same way.
One of the easiest ways to contribute is to let us know when you think you have found a bug, or if you think a new feature would be desirable. Both can be submitted using issues. Be sure that your version of R
and all packages are up-to-date. Then include a reproducible example demonstrating the problem, preferably using one of the built-in data sets.
The main
branch is basically a release branch and the code is always updated and tagged for a CRAN release. Documentation is based on the main
branch. Between CRAN releases, the version on the main
branch may advance in small ways (and hence the documented version may be ahead of the CRAN version). The devel
branch is used as a pre-release branch and ideally always works, and will be the basis for the next CRAN release. Additional branches will be created as needed; see below.
Github Actions are used to automate certain tasks. Pushing the main
or devel
branches will cause a build and check to occur. Pushing the main
branch will cause the documentation to be updated. The scripts controlling these actions are in .github/workflows
.
We follow semantic versioning practices. We liberally increment the patch version (z in x.y.z), but if you are contributing let the maintainers worry about this aspect.
R
is up-to-date (the current release or the release candidate).DESCRIPTION
. Some packages rely on packages from Bioconductor, so be sure to run the standard updates from there as well.R
packages. If you are using RStudio there are some handy menu actions provided. There are also varous R
packages that will do some of the work. Or you can go old school. You’ll need to be familiar with roxygen2
style documentation.devel
branch, create a new branch for your upcoming contribution (usually this will be named something like issue/#27
if you are fixing an issue, for example, or feature/feature_name
if you are contributing a new feature). Generally if you have a feature you’d like to add, file an issue describing the proposed feature so it can be discussed and tracked.--as-cran
--no-init-file
--resave-data
--compact-vignettes="both"
Fix any problems that arise (Which shouldn’t involve code problems, but rather additional tweaks to your local build environment. If you see any errors or warnings at this point, contact the maintainers before proceeding.).--as-cran
--no-init-file
Fix any problems that arise (Which shouldn’t involve code problems, but rather additional tweaks to your local build environment. If you see any errors or warnings at this point, contact the maintainers before proceeding.)..Rbuildignore
, .gitignore
?roxgyen2
.styler
with the default settings. Style only the file you are working on.tinytest
framework.roxygen2::document()
to update the help files and NAMESPACE
if your changes alter the help entries or add additional @importFrom
entries.NEWS.md
file. This file helps us keep track over time. Only trivial changes do not go to NEWS.md
.DESCRIPTION
.