Skip to content

Commit c1fd8bc

Browse files
committed
Expand dev instructions to install the dev tools #114
1 parent 08bc7e9 commit c1fd8bc

4 files changed

Lines changed: 421 additions & 115 deletions

File tree

.github/workflows/test-coverage.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
# Fail if error if not on PR, or if on PR and token is given
5858
# fail_ci_if_error: ${{ github.event_name != 'pull_request' || secrets.CODECOV_TOKEN }}
5959
fail_ci_if_error: false
60-
files: RcppTskit/cobertura.xml
60+
files: RcppTskit/cobertura.xml # generated during the process
6161
plugins: noop
6262
disable_search: true
6363
token: ${{ secrets.CODECOV_TOKEN }}

README.md

Lines changed: 1 addition & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -128,115 +128,4 @@ vignette("RcppTskit_intro")
128128

129129
## Development
130130

131-
### Code of Conduct
132-
133-
Please note that the `RcppTskit` project is released with a
134-
[Contributor Code of Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html).
135-
By contributing to this project, you agree to abide by its terms.
136-
137-
### Clone
138-
139-
First clone the repository and step into the directory:
140-
141-
```
142-
git clone https://github.com/HighlanderLab/RcppTskit.git
143-
cd RcppTskit
144-
```
145-
146-
### Pre-commit install
147-
148-
We use [pre-commit](https://pre-commit.com) hooks to ensure code quality.
149-
Specifically, we use:
150-
* [air](https://github.com/posit-dev/air) to format `R` code,
151-
* [jarl](https://github.com/etiennebacher/jarl) to lint `R` code,
152-
* [clang-format](https://clang.llvm.org/docs/ClangFormat.html) to format `C/C++` code, and
153-
* [clang-tidy](https://clang.llvm.org/extra/clang-tidy/) to lint `C/C++` code.
154-
155-
To install the hooks, run:
156-
157-
```
158-
pre-commit install --install-hooks
159-
pre-commit install --hook-type pre-push
160-
```
161-
162-
Run these once per clone.
163-
This enables automatic checks on `commit` and `push`.
164-
165-
### tskit
166-
167-
If you plan to update `tskit`, follow instructions in `extern/README.md`.
168-
169-
### RcppTskit
170-
171-
Then open `RcppTskit` package directory in your favourite `R` editor
172-
(Positron, RStudio, text-editor-of-your-choice, etc.) and implement your changes.
173-
174-
You should routinely `R CMD check` your changes (in `R`):
175-
176-
```
177-
# Note that the RcppTskit R package is in the RcppTskit sub-directory
178-
setwd("path/to/RcppTskit/RcppTskit")
179-
180-
# Check
181-
devtools::check()
182-
183-
# Install
184-
devtools::install()
185-
186-
# Test
187-
devtools::test()
188-
189-
# Test coverage
190-
cov <- covr::package_coverage(clean = TRUE)
191-
covr::report(cov)
192-
```
193-
194-
Alternatively check your changes from the command line:
195-
196-
```
197-
# Note that the RcppTskit package is in the RcppTskit sub-directory
198-
cd path/to/RcppTskit/RcppTskit
199-
200-
# Check
201-
R CMD build RcppTskit
202-
R CMD check RcppTskit_*.tar.gz
203-
204-
# Install
205-
R CMD INSTALL RcppTskit_*.tar.gz
206-
```
207-
208-
On Windows, replace `tar.gz` with `zip`.
209-
210-
### Pre-commit run
211-
212-
When committing your changes,
213-
`pre-commit` hooks should kick-in automatically
214-
to ensure code quality.
215-
Manually, you can run them using:
216-
217-
```
218-
pre-commit autoupdate # to update the hooks
219-
pre-commit run # on changed files
220-
pre-commit run --all-files # on all files
221-
pre-commit run <hook_id> # just a specific hook
222-
pre-commit run <hook_id> --all-files # ... on all files
223-
# see also --hook-stage option
224-
```
225-
226-
### Continuous integration
227-
228-
We use Github Actions to run continuous integration (CI) checks
229-
on each push and pull request.
230-
Specifically, we run:
231-
* [R CMD check](.github/workflows/R-CMD-check.yaml) on multiple platforms
232-
(see curent status [here](https://github.com/HighlanderLab/RcppTskit/actions/workflows/R-CMD-check.yaml)),
233-
* [documentation generation](.github/workflows/document.yaml)
234-
(see current status [here](https://github.com/HighlanderLab/RcppTskit/actions/workflows/document.yaml)),
235-
* [pre-commit hooks](.github/workflows/pre-commit.yaml)
236-
(see current status [here](https://github.com/HighlanderLab/RcppTskit/actions/workflows/pre-commit.yaml)), and
237-
* [test coverage](.github/workflows/test-coverage.yaml)
238-
(see current status [here](https://github.com/HighlanderLab/RcppTskit/actions/workflows/test-coverage.yaml)).
239-
240-
[R universe for RcppTskit](https://highlanderlab.r-universe.dev/RcppTskit)
241-
also provides another set of checks - see [here](https://highlanderlab.r-universe.dev/RcppTskit#checktable).
242-
These are provided after new code is pushed or merged into this repository.
131+
See [README_DEVEL.md](README_DEVEL.md)

0 commit comments

Comments
 (0)