resmush
Compress local and online images using the reSmush.it API service https://resmush.it/
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (18.4%) to scientific vocabulary
Keywords
api
compress-images
cran
cran-r
optimize-images
r
r-package
resmushit
Keywords from Contributors
hack
interpretability
meshing
standardization
attribution
log-parser
autograder
transformer
static-tiles
catastro
Last synced: 4 months ago
·
JSON representation
·
Repository
Compress local and online images using the reSmush.it API service https://resmush.it/
Basic Info
- Host: GitHub
- Owner: dieghernan
- License: other
- Language: R
- Default Branch: main
- Homepage: https://dieghernan.github.io/resmush/
- Size: 33.5 MB
Statistics
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 3
- Releases: 5
Topics
api
compress-images
cran
cran-r
optimize-images
r
r-package
resmushit
Created almost 2 years ago
· Last pushed 4 months ago
Metadata Files
Readme
Changelog
Contributing
Funding
License
Citation
Codemeta
README.Rmd
---
output: github_document
bibliography: inst/REFERENCES.bib
link-citations: yes
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
warning = FALSE,
message = FALSE,
dev = "ragg_png",
tidy = "styler",
fig.path = "man/figures/README-",
dpi = 120,
out.width = "100%"
)
```
# resmush
[](https://CRAN.R-project.org/package=resmush)
[](https://cran.r-project.org/web/checks/check_results_resmush.html)
[](https://CRAN.R-project.org/package=resmush)
[](https://github.com/dieghernan/resmush/actions/workflows/check-full.yaml)
[](https://github.com/dieghernan/resmush/actions/workflows/rhub.yaml)
[](https://app.codecov.io/gh/dieghernan/resmush)
[](https://www.codefactor.io/repository/github/dieghernan/resmush)
[](https://dieghernan.r-universe.dev/resmush)
[](https://doi.org/10.32614/CRAN.package.resmush)
[](https://www.repostatus.org/#active)
[](https://CRAN.R-project.org/package=resmush)
**resmush** is a **R** package that allow users to optimize and compress images
using [**reSmush.it**](https://resmush.it/). reSmush.it is a [free
API]{.underline} that provides image optimization, and it has been implemented
on [WordPress](https://wordpress.org/plugins/resmushit-image-optimizer/),
[Drupal](https://www.drupal.org/project/resmushit) and [many
more](https://resmush.it/tools/).
Some of the features of **reSmush.it** are:
- Free optimization services, no API key required.
- Optimize local and online images.
- Image files supported: `png`, `jpg/jpeg`, `gif`, `bmp`, `tiff`.
- Max image size: 5 Mb.
- Compression via several algorithms:
- [**PNGQuant**](https://pngquant.org/): Strip unneeded chunks from
`png`s, preserving a full alpha transparency.
- [**JPEGOptim**](https://github.com/tjko/jpegoptim)**:** Lossless
optimization based on optimizing the Huffman tables.
- [**OptiPNG**](https://optipng.sourceforge.net/): `png` reducer that is
used by several online optimizers.
## Installation
Install **resmush** from [**CRAN**](https://CRAN.R-project.org/package=resmush)
with:
```{r, eval=FALSE}
install.packages("resmush")
```
You can install the development version of **resmush** from
[GitHub](https://github.com/) with:
```{r, eval=FALSE}
remotes::install_github("dieghernan/resmush")
```
Alternatively, you can install **resmush** using the
[r-universe](https://dieghernan.r-universe.dev/resmush):
```{r, eval=FALSE}
# Install resmush in R:
install.packages("resmush", repos = c(
"https://dieghernan.r-universe.dev",
"https://cloud.r-project.org"
))
```
## Example
Compressing an online `jpg` image:
```{r example, message=TRUE}
library(resmush)
url <- paste0(
"https://raw.githubusercontent.com/dieghernan/",
"resmush/main/img/jpg_example_original.jpg"
)
resmush_url(url, outfile = "man/figures/jpg_example_compress.jpg", overwrite = TRUE)
```
::: figure
[{alt="Original uncompressed file"
width="100%"}](https://raw.githubusercontent.com/dieghernan/resmush/main/img/jpg_example_original.jpg)
[{alt="Optimized file"
width="100%"}](https://dieghernan.github.io/resmush/reference/figures/jpg_example_compress.jpg)
Original picture (top) 178.7 Kb and optimized picture (bottom) 45 Kb
(Compression 74.8%). Click to enlarge.
:::
The quality of the compression can be adjusted in the case of `jpg` files using
the parameter `qlty`. However, it is recommended to keep this value above 90 to
get a good image quality.
```{r jpgcompresslow, message=TRUE}
# Extreme case
resmush_url(url,
outfile = "man/figures/jpg_example_compress_low.jpg", overwrite = TRUE,
qlty = 3
)
```
::: figure
[{width="100%"}](https://dieghernan.github.io/resmush/reference/figures/jpg_example_compress_low.jpg)
Low quality image due to a high compression rate.
:::
All the functions return invisibly a data set with a summary of the process. The
next example shows how when compressing a local file.
```{r pngfile}
png_file <- system.file("extimg/example.png", package = "resmush")
# For the example, copy to a temporary file
tmp_png <- tempfile(fileext = ".png")
file.copy(png_file, tmp_png, overwrite = TRUE)
summary <- resmush_file(tmp_png, overwrite = TRUE)
tibble::as_tibble(summary[, -c(1, 2)])
```
## Other alternatives
There are other alternatives for optimizing images with **R**:
- **xfun** [@xfun], which includes the following functions for optimizing
image files:
- `xfun::tinify()` is similar to `resmush_file()` but uses
[**TinyPNG**](https://tinypng.com/). An API key is required.
- `xfun::optipng()` compresses local files with **OptiPNG** (which needs
to be installed locally).
- [**tinieR**](https://jmablog.github.io/tinieR/) package by
[jmablog](https://jmablog.com/). An **R** package that provides a full
interface with [**TinyPNG**](https://tinypng.com/).
- [**optout**](https://github.com/coolbutuseless/optout) package by
[\@coolbutuseless](https://coolbutuseless.github.io/). Similar to
`xfun::optipng()` with more options. Requires additional software to be
installed locally.
| tool | CRAN | Additional software? | Online? | API Key? | Limits? |
|----|----|----|----|----|----|
| `xfun::tinify()` | Yes | No | Yes | Yes | 500 files/month (Free tier) |
| `xfun::optipng()` | Yes | Yes | No | No | No |
| **tinieR** | No | No | Yes | Yes | 500 files/month (Free tier) |
| **optout** | No | Yes | No | No | No |
| **resmush** | Yes | No | Yes | No | Max size 5Mb |
: Table 1: **R** packages: Comparison of alternatives for optimizing images.
| tool | png | jpg | gif | bmp | tiff | webp | pdf |
|-------------------|-----|-----|-----|-----|------|------|-----|
| `xfun::tinify()` | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| `xfun::optipng()` | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **tinieR** | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| **optout** | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
| **resmush** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
: Table 2: **R** packages: Formats admitted.
## Citation
```{r echo=FALSE, results='asis'}
print(citation("resmush"), style = "html")
```
A BibTeX entry for LaTeX users is
```{r echo=FALSE, comment=""}
toBibtex(citation("resmush"))
```
## References
::: {#refs}
:::
## Contributors
All contributions to this project are gratefully acknowledged using the [`allcontributors` package](https://github.com/ropensci/allcontributors) following the [allcontributors](https://allcontributors.org) specification. Contributions of any kind are welcome!
|
dieghernan |
Owner
- Name: Diego H.
- Login: dieghernan
- Kind: user
- Location: Madrid, ES
- Website: https://dieghernan.github.io/
- Twitter: dhernangomez
- Repositories: 102
- Profile: https://github.com/dieghernan
Citation (CITATION.cff)
# --------------------------------------------
# CITATION file created with {cffr} R package
# See also: https://docs.ropensci.org/cffr/
# --------------------------------------------
cff-version: 1.2.0
message: 'To cite package "resmush" in publications use:'
type: software
license: MIT
title: 'resmush: Optimize and Compress Image Files with ''reSmush.it'''
version: 0.2.1
doi: 10.32614/CRAN.package.resmush
identifiers:
- type: doi
value: 10.32614/CRAN.package.resmush
abstract: Compress local and online images using the 'reSmush.it' API service <https://resmush.it/>.
authors:
- family-names: Hernangómez
given-names: Diego
email: diego.hernangomezherrero@gmail.com
orcid: https://orcid.org/0000-0001-8457-4658
preferred-citation:
type: manual
title: 'resmush: Optimize and Compress Image Files with reSmush.it'
authors:
- family-names: Hernangómez
given-names: Diego
email: diego.hernangomezherrero@gmail.com
orcid: https://orcid.org/0000-0001-8457-4658
doi: 10.32614/CRAN.package.resmush
year: '2025'
version: 0.2.1
url: https://dieghernan.github.io/resmush/
abstract: Compress local and online images using the reSmush.it API service <https://resmush.it/>.
repository: https://CRAN.R-project.org/package=resmush
repository-code: https://github.com/dieghernan/resmush
url: https://dieghernan.github.io/resmush/
contact:
- family-names: Hernangómez
given-names: Diego
email: diego.hernangomezherrero@gmail.com
orcid: https://orcid.org/0000-0001-8457-4658
keywords:
- r
- compress-images
- optimize-images
- resmushit
- api
- r-package
- cran
- cran-r
references:
- type: software
title: 'R: A Language and Environment for Statistical Computing'
notes: Depends
url: https://www.R-project.org/
authors:
- name: R Core Team
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
version: '>= 3.6.0'
- type: software
title: cli
abstract: 'cli: Helpers for Developing Command Line Interfaces'
notes: Imports
url: https://cli.r-lib.org
repository: https://CRAN.R-project.org/package=cli
authors:
- family-names: Csárdi
given-names: Gábor
email: gabor@posit.co
year: '2025'
doi: 10.32614/CRAN.package.cli
- type: software
title: curl
abstract: 'curl: A Modern and Flexible Web Client for R'
notes: Imports
url: https://jeroen.r-universe.dev/curl
repository: https://CRAN.R-project.org/package=curl
authors:
- family-names: Ooms
given-names: Jeroen
email: jeroenooms@gmail.com
orcid: https://orcid.org/0000-0002-4035-0289
year: '2025'
doi: 10.32614/CRAN.package.curl
- type: software
title: httr2
abstract: 'httr2: Perform HTTP Requests and Process the Responses'
notes: Imports
url: https://httr2.r-lib.org
repository: https://CRAN.R-project.org/package=httr2
authors:
- family-names: Wickham
given-names: Hadley
email: hadley@posit.co
year: '2025'
doi: 10.32614/CRAN.package.httr2
version: '>= 1.0.0'
- type: software
title: tools
abstract: 'R: A Language and Environment for Statistical Computing'
notes: Imports
authors:
- name: R Core Team
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
- type: software
title: utils
abstract: 'R: A Language and Environment for Statistical Computing'
notes: Imports
authors:
- name: R Core Team
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
- type: software
title: grid
abstract: 'R: A Language and Environment for Statistical Computing'
notes: Suggests
authors:
- name: R Core Team
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
- type: software
title: knitr
abstract: 'knitr: A General-Purpose Package for Dynamic Report Generation in R'
notes: Suggests
url: https://yihui.org/knitr/
repository: https://CRAN.R-project.org/package=knitr
authors:
- family-names: Xie
given-names: Yihui
email: xie@yihui.name
orcid: https://orcid.org/0000-0003-0645-5666
year: '2025'
doi: 10.32614/CRAN.package.knitr
- type: software
title: png
abstract: 'png: Read and write PNG images'
notes: Suggests
url: http://www.rforge.net/png/
repository: https://CRAN.R-project.org/package=png
authors:
- family-names: Urbanek
given-names: Simon
email: Simon.Urbanek@r-project.org
year: '2025'
doi: 10.32614/CRAN.package.png
- type: software
title: rmarkdown
abstract: 'rmarkdown: Dynamic Documents for R'
notes: Suggests
url: https://pkgs.rstudio.com/rmarkdown/
repository: https://CRAN.R-project.org/package=rmarkdown
authors:
- family-names: Allaire
given-names: JJ
email: jj@posit.co
- family-names: Xie
given-names: Yihui
email: xie@yihui.name
orcid: https://orcid.org/0000-0003-0645-5666
- family-names: Dervieux
given-names: Christophe
email: cderv@posit.co
orcid: https://orcid.org/0000-0003-4474-2498
- family-names: McPherson
given-names: Jonathan
email: jonathan@posit.co
- family-names: Luraschi
given-names: Javier
- family-names: Ushey
given-names: Kevin
email: kevin@posit.co
- family-names: Atkins
given-names: Aron
email: aron@posit.co
- family-names: Wickham
given-names: Hadley
email: hadley@posit.co
- family-names: Cheng
given-names: Joe
email: joe@posit.co
- family-names: Chang
given-names: Winston
email: winston@posit.co
- family-names: Iannone
given-names: Richard
email: rich@posit.co
orcid: https://orcid.org/0000-0003-3925-190X
year: '2025'
doi: 10.32614/CRAN.package.rmarkdown
- type: software
title: testthat
abstract: 'testthat: Unit Testing for R'
notes: Suggests
url: https://testthat.r-lib.org
repository: https://CRAN.R-project.org/package=testthat
authors:
- family-names: Wickham
given-names: Hadley
email: hadley@posit.co
year: '2025'
doi: 10.32614/CRAN.package.testthat
version: '>= 3.0.0'
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"identifier": "resmush",
"description": "Compress local and online images using the 'reSmush.it' API service <https://resmush.it/>.",
"name": "resmush: Optimize and Compress Image Files with 'reSmush.it'",
"relatedLink": [
"https://dieghernan.github.io/resmush/",
"https://CRAN.R-project.org/package=resmush"
],
"codeRepository": "https://github.com/dieghernan/resmush",
"issueTracker": "https://github.com/dieghernan/resmush/issues",
"license": "https://spdx.org/licenses/MIT",
"version": "0.2.1",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "R",
"url": "https://r-project.org"
},
"runtimePlatform": "R version 4.5.1 (2025-06-13 ucrt)",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"author": [
{
"@type": "Person",
"givenName": "Diego",
"familyName": "Hernangmez",
"email": "diego.hernangomezherrero@gmail.com",
"@id": "https://orcid.org/0000-0001-8457-4658"
}
],
"copyrightHolder": [
{
"@type": "Person",
"givenName": "Diego",
"familyName": "Hernangmez",
"email": "diego.hernangomezherrero@gmail.com",
"@id": "https://orcid.org/0000-0001-8457-4658"
}
],
"maintainer": [
{
"@type": "Person",
"givenName": "Diego",
"familyName": "Hernangmez",
"email": "diego.hernangomezherrero@gmail.com",
"@id": "https://orcid.org/0000-0001-8457-4658"
}
],
"softwareSuggestions": [
{
"@type": "SoftwareApplication",
"identifier": "grid",
"name": "grid"
},
{
"@type": "SoftwareApplication",
"identifier": "knitr",
"name": "knitr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=knitr"
},
{
"@type": "SoftwareApplication",
"identifier": "png",
"name": "png",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=png"
},
{
"@type": "SoftwareApplication",
"identifier": "rmarkdown",
"name": "rmarkdown",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=rmarkdown"
},
{
"@type": "SoftwareApplication",
"identifier": "testthat",
"name": "testthat",
"version": ">= 3.0.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=testthat"
}
],
"softwareRequirements": {
"1": {
"@type": "SoftwareApplication",
"identifier": "R",
"name": "R",
"version": ">= 3.6.0"
},
"2": {
"@type": "SoftwareApplication",
"identifier": "cli",
"name": "cli",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=cli"
},
"3": {
"@type": "SoftwareApplication",
"identifier": "curl",
"name": "curl",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=curl"
},
"4": {
"@type": "SoftwareApplication",
"identifier": "httr2",
"name": "httr2",
"version": ">= 1.0.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=httr2"
},
"5": {
"@type": "SoftwareApplication",
"identifier": "tools",
"name": "tools"
},
"6": {
"@type": "SoftwareApplication",
"identifier": "utils",
"name": "utils"
},
"SystemRequirements": null
},
"keywords": [
"r",
"compress-images",
"optimize-images",
"resmushit",
"api",
"r-package",
"cran",
"cran-r"
],
"fileSize": "679.047KB",
"citation": [
{
"@type": "SoftwareSourceCode",
"datePublished": "2025",
"author": [
{
"@type": "Person",
"givenName": "Diego",
"familyName": "Hernangmez"
}
],
"name": "{resmush}: Optimize and Compress Image Files with {reSmush.it}",
"identifier": "10.32614/CRAN.package.resmush",
"url": "https://dieghernan.github.io/resmush/",
"@id": "https://doi.org/10.32614/CRAN.package.resmush",
"sameAs": "https://doi.org/10.32614/CRAN.package.resmush"
}
],
"releaseNotes": "https://github.com/dieghernan/resmush/blob/main/NEWS.md",
"readme": "https://github.com/dieghernan/resmush/blob/main/README.md",
"contIntegration": [
"https://github.com/dieghernan/resmush/actions/workflows/check-full.yaml",
"https://github.com/dieghernan/resmush/actions/workflows/rhub.yaml",
"https://app.codecov.io/gh/dieghernan/resmush"
],
"developmentStatus": "https://www.repostatus.org/#active"
}
GitHub Events
Total
- Create event: 2
- Release event: 1
- Issues event: 2
- Watch event: 1
- Delete event: 2
- Issue comment event: 4
- Push event: 32
- Pull request event: 4
Last Year
- Create event: 2
- Release event: 1
- Issues event: 2
- Watch event: 1
- Delete event: 2
- Issue comment event: 4
- Push event: 32
- Pull request event: 4
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Diego H | d****o@g****m | 61 |
| github-actions[bot] | 4****] | 24 |
| dependabot[bot] | 4****] | 1 |
| ImgBotApp | I****p@g****m | 1 |
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 4
- Total pull requests: 15
- Average time to close issues: 16 days
- Average time to close pull requests: 13 days
- Total issue authors: 2
- Total pull request authors: 3
- Average comments per issue: 0.5
- Average comments per pull request: 1.2
- Merged pull requests: 11
- Bot issues: 1
- Bot pull requests: 7
Past Year
- Issues: 0
- Pull requests: 3
- Average time to close issues: N/A
- Average time to close pull requests: about 10 hours
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 1.67
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 3
Top Authors
Issue Authors
- dieghernan (3)
- github-actions[bot] (1)
Pull Request Authors
- dieghernan (15)
- imgbot[bot] (8)
- dependabot[bot] (4)
Top Labels
Issue Labels
Pull Request Labels
bot (4)
dependencies (4)
Packages
- Total packages: 1
-
Total downloads:
- cran 234 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 4
- Total maintainers: 1
cran.r-project.org: resmush
Optimize and Compress Image Files with 'reSmush.it'
- Homepage: https://dieghernan.github.io/resmush/
- Documentation: http://cran.r-project.org/web/packages/resmush/resmush.pdf
- License: MIT + file LICENSE
-
Latest release: 0.2.1
published about 1 year ago
Rankings
Dependent packages count: 28.2%
Dependent repos count: 36.1%
Average: 49.6%
Downloads: 84.4%
Maintainers (1)
Last synced:
4 months ago
Dependencies
.github/workflows/check-full.yaml
actions
- actions/checkout v4 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/lintr.yaml
actions
- actions/checkout v4 composite
- github/codeql-action/upload-sarif v3 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgcheck.yaml
actions
- ropensci-review-tools/pkgcheck-action main composite
.github/workflows/pkgdown-gh-pages.yaml
actions
- actions/checkout v4 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml
actions
- actions/checkout v4 composite
- actions/upload-artifact v4 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/update-docs.yaml
actions
- actions/checkout v4 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/wipe-cache.yaml
actions
- easimon/wipe-cache main composite
DESCRIPTION
cran
- R >= 3.6.0 depends
- cli * imports
- curl * imports
- httr * imports
- utils * imports
- knitr * suggests
- rmarkdown * suggests
- testthat >= 3.0.0 suggests
.github/workflows/cran-status-check.yaml
actions
- actions/checkout v4 composite
- dieghernan/cran-status-check v1 composite