mirror of
https://github.com/agdamsbo/stRoke.git
synced 2024-11-21 12:30:23 +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