Contributing Guidelines
Source:CONTRIBUTING.md
Scope
- Support for all EDI data repository web services.
- Simplify common user tasks (e.g. publication, reuse, reporting).
git structure
The active branch is development
. development
is merged into main
for releases. Please submit your pull requests to development
.
Repository structure
This repository is structured as a standard R package following the conventions outlined in the Writing R extensions manual. A few additional files are provided that are not part of the built R package and are listed in .Rbuildignore
.
Code
All code for this package is found in R/
. All functions should be thoroughly documented with roxygen2
. All new code should follow the tidyverse style guide and can be applied with the styler and lintr packages.
Testing
Any new feature or bug-fix should include a unit-test demonstrating the change. Unit tests follow the testthat
framework with files in tests/testthat
. Please make sure that the testing suite passes before issuing a pull request. This can be done by running devtools::check()
, which will also check for consistent documentation, etc.
Some tests require authentication and a minimal data package. See the vignette “Tests Requiring Authentication” for details.
This package uses GitHub Actions continuous testing mechanism for R to ensure that the test suite is run on each push to Github. An icon at the top of the README.md indicates whether or not the tests are currently passing.
Documentation
All of the function documentation is generated automatically. Please do not edit any of the documentation files in man/
or the NAMESPACE
. Instead, construct the appropriate roxygen2 documentation in the function files in R/
themselves. The documentation is then generated by running the devtools::document()
. Please consult the Advanced R programming guide if this workflow is unfamiliar to you. Note that functions should include examples in the documentation. Please use \dontrun
for examples that take more than a few seconds to execute.
Likewise, the README.md file in the base directory should not be edited directly. This file is created automatically from code that runs the examples shown, helping to ensure that they are functioning as advertised and consistent with the package README vignette. Instead, edit the README.Rmd
source file pkgdown::build_home()
to build the README.