mirror of
https://github.com/agdamsbo/stRoke.git
synced 2024-11-24 13:41:55 +01:00
started checklist for easy new projects
This commit is contained in:
parent
7554f91e34
commit
2e8f3374f4
145
vignettes/new_projects.Rmd
Normal file
145
vignettes/new_projects.Rmd
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
---
|
||||||
|
title: "New project checklist"
|
||||||
|
date: "`r Sys.Date()`"
|
||||||
|
output: rmarkdown::html_vignette
|
||||||
|
vignette: >
|
||||||
|
%\VignetteIndexEntry{New project checklist}
|
||||||
|
%\VignetteEngine{knitr::rmarkdown}
|
||||||
|
%\VignetteEncoding{UTF-8}
|
||||||
|
---
|
||||||
|
|
||||||
|
## Creating and starting a new project
|
||||||
|
|
||||||
|
This is very much started as a personal reference checklist when starting new *R*-projects.
|
||||||
|
|
||||||
|
Much of it is based on work from [ROSTOOLS](), but I have added a few personal preferences.
|
||||||
|
|
||||||
|
### Init renv
|
||||||
|
|
||||||
|
After initiating renv, do
|
||||||
|
|
||||||
|
```{r eval=FALSE}
|
||||||
|
usethis::edit_r_profile()
|
||||||
|
```
|
||||||
|
|
||||||
|
Copy the following to the profile-file:
|
||||||
|
|
||||||
|
```
|
||||||
|
options(
|
||||||
|
renv.settings.snapshot.type = "explicit",
|
||||||
|
renv.config.auto.snapshot = TRUE,
|
||||||
|
renv.config.pak.enabled = TRUE
|
||||||
|
)
|
||||||
|
source("renv/activate.R")
|
||||||
|
|
||||||
|
if (interactive()) {
|
||||||
|
suppressMessages(require(usethis))
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Publishing the project
|
||||||
|
|
||||||
|
Run in terminal:
|
||||||
|
|
||||||
|
```
|
||||||
|
quarto publish gh-pages
|
||||||
|
```
|
||||||
|
|
||||||
|
This will create a new `gh-pages` branches in the repository.
|
||||||
|
|
||||||
|
Then run
|
||||||
|
|
||||||
|
```{r eval=FALSE}
|
||||||
|
edit_file(".github/workflows/build-website.yaml")
|
||||||
|
```
|
||||||
|
|
||||||
|
And then copy/paste this content to that file:
|
||||||
|
|
||||||
|
```
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- master
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
name: Render and Publish
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pages: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Quarto
|
||||||
|
uses: quarto-dev/quarto-actions/setup@v2
|
||||||
|
with:
|
||||||
|
# To install LaTeX to build PDF book
|
||||||
|
tinytex: true
|
||||||
|
# uncomment below and fill to pin a version
|
||||||
|
# version: 0.9.600
|
||||||
|
|
||||||
|
# The next two steps are used to setup the project when renv is used. Just uncomment and away you go!
|
||||||
|
# - uses: r-lib/actions/setup-r@v2
|
||||||
|
|
||||||
|
# - uses: r-lib/actions/setup-renv@v2
|
||||||
|
|
||||||
|
# From https://github.com/r-lib/actions/tree/v2-branch/setup-r
|
||||||
|
- name: Publish to GitHub Pages (and render)
|
||||||
|
uses: quarto-dev/quarto-actions/publish@v2
|
||||||
|
with:
|
||||||
|
target: gh-pages
|
||||||
|
env:
|
||||||
|
# this secret is always available for github actions
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
```
|
||||||
|
|
||||||
|
# New CRAN release checklist
|
||||||
|
|
||||||
|
- Commit all changes to GIT
|
||||||
|
|
||||||
|
- Checks for publishing with RHUB
|
||||||
|
|
||||||
|
```{r eval=FALSE}
|
||||||
|
results <- rhub::check_for_cran()
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Let it run. Takes some hours.
|
||||||
|
Check results:
|
||||||
|
|
||||||
|
|
||||||
|
```{r eval=FALSE}
|
||||||
|
results$cran_summary()
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Copy results to `cran-comments.md`
|
||||||
|
|
||||||
|
|
||||||
|
```{r eval=FALSE}
|
||||||
|
usethis::use_cran_comments()
|
||||||
|
```
|
||||||
|
|
||||||
|
- Release on CRAN
|
||||||
|
|
||||||
|
```{r eval=FALSE}
|
||||||
|
devtools::release()
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Follow instruction on e-mail to confirm upload
|
||||||
|
|
||||||
|
|
||||||
|
- When approved, release to GitHub (this also publishes newest version to Zenodo if setup)
|
||||||
|
|
||||||
|
```{r eval=FALSE}
|
||||||
|
usethis::use_github_release()
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user