library(rworkflows)
It may be desirable to set up multiple workflow files within the same repository.
A common use case for this is for Bioconductor
packages,
which rely on version-controlled
release schedules.
Because of the release schedule, you may want to have different virtual machine (VM) setups for each version of your package (which are stored on different branches of the same GitHub repository).
devel
branchOnly use the devel
version of Bioc when launching
GitHub Actions from the devel
branch.
v <- "devel"
f1 <- use_workflow(name = paste("rworkflows",v,sep="."),
branches = v,
runners = construct_runners(bioc = v),
preview = TRUE,
force_new = TRUE,
save_dir = tempdir() # For demo only, use default in practice
)
## Applying the same 'bioc' parameter to all 3 'os': 'devel'
## name: rworkflows.devel
## 'on':
## push:
## branches: devel
## pull_request:
## branches: devel
## jobs:
## rworkflows:
## permissions:
## contents: write
## runs-on: ${{ matrix.config.os }}
## name: ${{ matrix.config.os }} (${{ matrix.config.r }})
## container: ${{ matrix.config.cont }}
## strategy:
## fail-fast: no
## matrix:
## config:
## - os: ubuntu-latest
## bioc: devel
## r: auto
## cont: bioconductor/bioconductor_docker:devel
## rspm: https://packagemanager.rstudio.com/cran/__linux__/latest/release
## - os: macOS-latest
## bioc: devel
## r: auto
## cont: ~
## rspm: ~
## - os: windows-latest
## bioc: devel
## r: auto
## cont: ~
## rspm: ~
## steps:
## - uses: neurogenomics/rworkflows@master
## with:
## run_bioccheck: no
## run_rcmdcheck: yes
## as_cran: yes
## run_vignettes: yes
## has_testthat: yes
## run_covr: yes
## run_pkgdown: yes
## has_runit: no
## has_latex: no
## GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
## run_docker: no
## DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
## runner_os: ${{ runner.os }}
## cache_version: cache-v1
## enable_act: no
## Saving workflow ==> /var/folders/rd/rbc_wrdj4k3djf3brk6z0_dc0000gp/T//Rtmp7MkKKv/rworkflows.devel.yml
RELEASE_3_17
branchOnly use the 3.17
release version of Bioc when launching
GitHub Actions from the RELEASE_3_17
branch.
v <- "RELEASE_3_17"
f2 <- use_workflow(name = paste("rworkflows",v,sep="."),
branches = v,
runners = construct_runners(bioc = v),
preview = TRUE,
force_new = TRUE,
save_dir = tempdir() # For demo only, use default in practice
)
## Applying the same 'bioc' parameter to all 3 'os': 'RELEASE_3_17'
## name: rworkflows.RELEASE_3_17
## 'on':
## push:
## branches: RELEASE_3_17
## pull_request:
## branches: RELEASE_3_17
## jobs:
## rworkflows:
## permissions:
## contents: write
## runs-on: ${{ matrix.config.os }}
## name: ${{ matrix.config.os }} (${{ matrix.config.r }})
## container: ${{ matrix.config.cont }}
## strategy:
## fail-fast: no
## matrix:
## config:
## - os: ubuntu-latest
## bioc: '3.17'
## r: auto
## cont: bioconductor/bioconductor_docker:RELEASE_3_17
## rspm: https://packagemanager.rstudio.com/cran/__linux__/latest/release
## - os: macOS-latest
## bioc: '3.17'
## r: auto
## cont: ~
## rspm: ~
## - os: windows-latest
## bioc: '3.17'
## r: auto
## cont: ~
## rspm: ~
## steps:
## - uses: neurogenomics/rworkflows@master
## with:
## run_bioccheck: no
## run_rcmdcheck: yes
## as_cran: yes
## run_vignettes: yes
## has_testthat: yes
## run_covr: yes
## run_pkgdown: yes
## has_runit: no
## has_latex: no
## GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
## run_docker: no
## DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
## runner_os: ${{ runner.os }}
## cache_version: cache-v1
## enable_act: no
## Saving workflow ==> /var/folders/rd/rbc_wrdj4k3djf3brk6z0_dc0000gp/T//Rtmp7MkKKv/rworkflows.RELEASE_3_17.yml
RELEASE_*
branchesOnly use the latest release
version of Bioc when launching
GitHub Actions from any RELEASE_*
branch.
v <- "RELEASE_*"
f3 <- use_workflow(name = paste("rworkflows",v,sep="."),
branches = v,
runners = construct_runners(bioc = v),
preview = TRUE,
force_new = TRUE,
save_dir = tempdir() # For demo only, use default in practice
)
utils::sessionInfo()
## R version 4.2.1 (2022-06-23)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Big Sur ... 10.16
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
##
## locale:
## [1] C/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] rworkflows_0.99.13 BiocStyle_2.26.0
##
## loaded via a namespace (and not attached):
## [1] bslib_0.4.2 compiler_4.2.1 pillar_1.9.0
## [4] RColorBrewer_1.1-3 BiocManager_1.30.20 jquerylib_0.1.4
## [7] yulab.utils_0.0.6 tools_4.2.1 digest_0.6.31
## [10] jsonlite_1.8.4 evaluate_0.21 lifecycle_1.0.3
## [13] tibble_3.2.1 gtable_0.3.3 pkgconfig_2.0.3
## [16] rlang_1.1.1 cli_3.6.1 rvcheck_0.2.1
## [19] yaml_2.3.7 xfun_0.40 fastmap_1.1.1
## [22] dplyr_1.1.2 knitr_1.44 desc_1.4.2
## [25] generics_0.1.3 sass_0.4.6 vctrs_0.6.3
## [28] dlstats_0.1.7 rprojroot_2.0.3 grid_4.2.1
## [31] tidyselect_1.2.0 here_1.0.1 data.table_1.14.8
## [34] glue_1.6.2 R6_2.5.1 fansi_1.0.4
## [37] rmarkdown_2.22 bookdown_0.34 ggplot2_3.4.2
## [40] badger_0.2.3 magrittr_2.0.3 scales_1.2.1
## [43] htmltools_0.5.5 colorspace_2.1-0 renv_0.17.3
## [46] utf8_1.2.3 munsell_0.5.0 cachem_1.0.8