Skip to content

Commit 772117e

Browse files
authored
Merge pull request #4 from Swechhya/add-bioconductor-support
Add bioconductor support
2 parents eeabe0f + 9f0db53 commit 772117e

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,14 @@ jobs:
1717
uses: Swechhya/R-actions@v1.1
1818
with:
1919
action: 'all'
20+
needsBioc: false
2021
```
2122
2223
The action property can be any one of:
2324
- `build` Only builds the package
2425
- `all` Runs build and checks the built package
2526

27+
The needsBioc property can be any one of:
28+
- `true` Installs bioconductor and dependencies
29+
- `false` Only installs CRAN dependencies
30+

action.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@ branding:
44
icon: 'check-square'
55
color: 'blue'
66
inputs:
7-
action: # id of inpu
7+
action: # id of input
88
description: 'What should be run? One of: ["all", "build"]'
99
default: 'all'
10+
needsBioc:
11+
description: 'Is Bioconductor package needed? One of [true, false]'
12+
default: false
1013
runs:
1114
using: 'docker'
1215
image: 'Dockerfile'
1316
args:
1417
- ${{inputs.action}}
18+
- ${{inputs.needsBioc}}

entrypoint.sh

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ apt-get install -y xml2 default-jre default-jdk mesa-common-dev libglu1-mesa-dev
1010
apt-get install -y mesa-common-dev libx11-dev r-cran-rgl r-cran-rglpk r-cran-rsymphony r-cran-plyr
1111
apt-get install -y r-cran-reshape r-cran-reshape2 r-cran-rmysql
1212

13+
echo "\e[33m\e[1mR session information"
14+
Rscript -e 'sessionInfo()'
15+
1316
# Check for build only
1417
if [ "$1" = "build" ]; then
1518
echo "\e[33m\e[1mRunning only build task"
@@ -22,16 +25,26 @@ if [ "$1" = "all" ]; then
2225
echo "\e[33m\e[1mStart package build."
2326
R CMD build ./
2427
echo "\e[33m\e[1mPackage build ended."
25-
# Check if description file exi
28+
# Check if description file exist
2629
if [ -f DESCRIPTION ]; then
2730
echo "\e[33m\e[1mDESCRIPTION exist."
2831
echo "\e[33m\e[1mInstall texlive for PDF manual check."
2932
apt-get -y install texlive
3033

31-
echo "\e[33m\e[1mInstall package dependencies."
32-
Rscript -e 'install.packages(c("remotes"));if (!all(c("remotes") %in% installed.packages())) { q(status = 1, save = "no")}'
33-
Rscript -e 'deps <- remotes::dev_package_deps(dependencies = NA);remotes::install_deps(dependencies = TRUE);if (!all(deps$package %in% installed.packages())) { message("missing: ", paste(setdiff(deps$package, installed.packages()), collapse=", ")); q(status = 1, save = "no")}'
34-
34+
# Check for bioconductor dependencies
35+
if [ "$2" = true ]; then
36+
echo "\e[33m\e[1mInstall Bioconductor"
37+
Rscript -e 'if (!requireNamespace("BiocManager", quietly=TRUE)) install.packages("BiocManager");if (FALSE) BiocManager::install(version = "devel", ask = FALSE);cat(append = TRUE, file = "~/.Rprofile.site", "options(repos = BiocManager::repositories());")'
38+
39+
echo "\e[33m\e[1mInstall package dependencies."
40+
Rscript -e 'if (!requireNamespace("remotes", quietly = TRUE)) install.packages("remotes", repo = c(BiocManager::repositories()))'
41+
Rscript -e 'deps <- remotes::dev_package_deps(dependencies = NA, repos = c(BiocManager::repositories()));remotes::install_deps(dependencies = TRUE, repos = c(BiocManager::repositories()));if (!all(deps$package %in% installed.packages())) { message("missing: ", paste(setdiff(deps$package, installed.packages(repo=)), collapse=", ")); q(status = 1, save = "no")}'
42+
else
43+
echo "\e[33m\e[1mInstall package dependencies."
44+
Rscript -e 'if (!requireNamespace("remotes", quietly = TRUE)) install.packages("remotes")'
45+
Rscript -e 'deps <- remotes::dev_package_deps(dependencies = NA);remotes::install_deps(dependencies = TRUE);if (!all(deps$package %in% installed.packages())) { message("missing: ", paste(setdiff(deps$package, installed.packages(repo=)), collapse=", ")); q(status = 1, save = "no")}'
46+
fi
47+
3548
echo "\e[33m\e[1mGet package name and version from description file."
3649
package=$(grep -Po 'Package:(.*)' DESCRIPTION)
3750
version=$(grep -Po 'Version:(.*)' DESCRIPTION)

0 commit comments

Comments
 (0)