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: write-all
## 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: ghcr.io/bioconductor/bioconductor_docker:devel
## rspm: ~
## - 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
## docker_registry: ghcr.io
## Saving yaml ==> /var/folders/rd/rbc_wrdj4k3djf3brk6z0_dc0000gp/T//RtmpHZJkFH/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: write-all
## 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: ghcr.io/bioconductor/bioconductor_docker:RELEASE_3_17
## rspm: ~
## - 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
## docker_registry: ghcr.io
## Saving yaml ==> /var/folders/rd/rbc_wrdj4k3djf3brk6z0_dc0000gp/T//RtmpHZJkFH/rworkflows.RELEASE_3_17.yml
RELEASE_*
branchesOnly use the latest release
version of Bioc when
launching GitHub Actions from any RELEASE_*
branch.
## R version 4.4.1 (2024-06-14)
## Platform: aarch64-apple-darwin20
## Running under: macOS Sonoma 14.6.1
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0
##
## locale:
## [1] C/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
##
## time zone: Europe/London
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] rworkflows_1.0.2
##
## loaded via a namespace (and not attached):
## [1] gtable_0.3.5 jsonlite_1.8.9 renv_1.0.8
## [4] dplyr_1.1.4 compiler_4.4.1 BiocManager_1.30.25
## [7] tidyselect_1.2.1 jquerylib_0.1.4 rvcheck_0.2.1
## [10] scales_1.3.0 yaml_2.3.10 fastmap_1.2.0
## [13] here_1.0.1 ggplot2_3.5.1 R6_2.5.1
## [16] generics_0.1.3 knitr_1.48 yulab.utils_0.1.7
## [19] tibble_3.2.1 desc_1.4.3 dlstats_0.1.7
## [22] rprojroot_2.0.4 munsell_0.5.1 bslib_0.8.0
## [25] pillar_1.9.0 RColorBrewer_1.1-3 rlang_1.1.4
## [28] utf8_1.2.4 cachem_1.1.0 badger_0.2.4
## [31] xfun_0.47 fs_1.6.4 sass_0.4.9
## [34] cli_3.6.3 magrittr_2.0.3 digest_0.6.37
## [37] grid_4.4.1 lifecycle_1.0.4 vctrs_0.6.5
## [40] data.table_1.16.0 evaluate_1.0.0 glue_1.7.0
## [43] fansi_1.0.6 colorspace_2.1-1 rmarkdown_2.28
## [46] tools_4.4.1 pkgconfig_2.0.3 htmltools_0.5.8.1