From 2c0b14c7daf2bbfe66d95aa431d642534381ac5c Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sun, 9 Oct 2022 12:50:27 +0200 Subject: [PATCH] ci: refactor r tests, from 8 to 5 (~15 min saved) --- repo2docker/buildpacks/r.py | 2 +- tests/r/apt/install.R | 1 - tests/r/apt/runtime.txt | 1 - tests/r/mran/install.R | 1 - tests/r/{simple => r-rspm-apt}/README.rst | 0 tests/r/{apt => r-rspm-apt}/apt.txt | 0 tests/r/r-rspm-apt/install.R | 1 + tests/r/r-rspm-apt/runtime.txt | 1 + tests/r/r-rspm-apt/verify | 5 +++++ tests/r/{simple/verify => r-rspm-apt/verify.r} | 8 +++++--- tests/r/{apt/verify => r-rspm-apt/verify.sh} | 3 +-- .../DESCRIPTION | 2 +- .../NAMESPACE | 0 .../R/print_something.R | 0 .../README.md | 0 .../{description-file => r-rspm-description}/verify | 0 tests/r/r3.6-mran/install.R | 1 + tests/r/{mran => r3.6-mran}/runtime.txt | 0 tests/r/{mran => r3.6-mran}/verify | 6 +++++- tests/r/r3.6/install.R | 1 - tests/r/r3.6/runtime.txt | 1 - tests/r/r3.6/verify | 8 -------- tests/r/r4.0-mran/install.R | 1 + tests/r/{r4.0 => r4.0-mran}/runtime.txt | 0 tests/r/{r4.0 => r4.0-mran}/verify | 4 ++-- tests/r/r4.0-rspm/install.R | 2 +- tests/r/r4.0-rspm/verify | 4 ++-- tests/r/r4.0/install.R | 1 - tests/r/r4.1/install.R | 1 - tests/r/r4.1/runtime.txt | 1 - tests/r/r4.1/verify | 12 ------------ tests/r/simple/install.R | 1 - tests/r/simple/runtime.txt | 1 - 33 files changed, 27 insertions(+), 43 deletions(-) delete mode 100644 tests/r/apt/install.R delete mode 100644 tests/r/apt/runtime.txt delete mode 100644 tests/r/mran/install.R rename tests/r/{simple => r-rspm-apt}/README.rst (100%) rename tests/r/{apt => r-rspm-apt}/apt.txt (100%) create mode 100644 tests/r/r-rspm-apt/install.R create mode 100644 tests/r/r-rspm-apt/runtime.txt create mode 100755 tests/r/r-rspm-apt/verify rename tests/r/{simple/verify => r-rspm-apt/verify.r} (56%) rename tests/r/{apt/verify => r-rspm-apt/verify.sh} (72%) rename tests/r/{description-file => r-rspm-description}/DESCRIPTION (93%) rename tests/r/{description-file => r-rspm-description}/NAMESPACE (100%) rename tests/r/{description-file => r-rspm-description}/R/print_something.R (100%) rename tests/r/{description-file => r-rspm-description}/README.md (100%) rename tests/r/{description-file => r-rspm-description}/verify (100%) create mode 100644 tests/r/r3.6-mran/install.R rename tests/r/{mran => r3.6-mran}/runtime.txt (100%) rename tests/r/{mran => r3.6-mran}/verify (53%) delete mode 100644 tests/r/r3.6/install.R delete mode 100644 tests/r/r3.6/runtime.txt delete mode 100755 tests/r/r3.6/verify create mode 100644 tests/r/r4.0-mran/install.R rename tests/r/{r4.0 => r4.0-mran}/runtime.txt (100%) rename tests/r/{r4.0 => r4.0-mran}/verify (94%) delete mode 100644 tests/r/r4.0/install.R delete mode 100644 tests/r/r4.1/install.R delete mode 100644 tests/r/r4.1/runtime.txt delete mode 100755 tests/r/r4.1/verify delete mode 100644 tests/r/simple/install.R delete mode 100644 tests/r/simple/runtime.txt diff --git a/repo2docker/buildpacks/r.py b/repo2docker/buildpacks/r.py index 19a38dcd..eaf44b2b 100644 --- a/repo2docker/buildpacks/r.py +++ b/repo2docker/buildpacks/r.py @@ -79,7 +79,7 @@ class RBuildPack(PythonBuildPack): # # NOTE: When updating this version, also update # - tests/unit/test_r.py -> test_version_specification - # - tests/r/simple/verify + # - tests/r/r-rspm-apt/verify # r_version = version_map["4.2"] diff --git a/tests/r/apt/install.R b/tests/r/apt/install.R deleted file mode 100644 index 8b43883c..00000000 --- a/tests/r/apt/install.R +++ /dev/null @@ -1 +0,0 @@ -install.packages("viridisLite") diff --git a/tests/r/apt/runtime.txt b/tests/r/apt/runtime.txt deleted file mode 100644 index a05a6121..00000000 --- a/tests/r/apt/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -r-4.1-2021-10-22 diff --git a/tests/r/mran/install.R b/tests/r/mran/install.R deleted file mode 100644 index b4fdeb90..00000000 --- a/tests/r/mran/install.R +++ /dev/null @@ -1 +0,0 @@ -install.packages("testthat") diff --git a/tests/r/simple/README.rst b/tests/r/r-rspm-apt/README.rst similarity index 100% rename from tests/r/simple/README.rst rename to tests/r/r-rspm-apt/README.rst diff --git a/tests/r/apt/apt.txt b/tests/r/r-rspm-apt/apt.txt similarity index 100% rename from tests/r/apt/apt.txt rename to tests/r/r-rspm-apt/apt.txt diff --git a/tests/r/r-rspm-apt/install.R b/tests/r/r-rspm-apt/install.R new file mode 100644 index 00000000..f609959e --- /dev/null +++ b/tests/r/r-rspm-apt/install.R @@ -0,0 +1 @@ +install.packages("digest") diff --git a/tests/r/r-rspm-apt/runtime.txt b/tests/r/r-rspm-apt/runtime.txt new file mode 100644 index 00000000..aa35fc0b --- /dev/null +++ b/tests/r/r-rspm-apt/runtime.txt @@ -0,0 +1 @@ +r-2022-06-23 diff --git a/tests/r/r-rspm-apt/verify b/tests/r/r-rspm-apt/verify new file mode 100755 index 00000000..f7040319 --- /dev/null +++ b/tests/r/r-rspm-apt/verify @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +./verify.sh +./verify.r diff --git a/tests/r/simple/verify b/tests/r/r-rspm-apt/verify.r similarity index 56% rename from tests/r/simple/verify rename to tests/r/r-rspm-apt/verify.r index bab06b4e..30117134 100755 --- a/tests/r/simple/verify +++ b/tests/r/r-rspm-apt/verify.r @@ -1,7 +1,9 @@ #!/usr/bin/env Rscript -library('testthat') +library('digest') -# Fail if version is not 4.2 + +# Fail if version isn't 4.2, the default version for the RBuildPack +print(version) if (!(version$major == "4" && as.double(version$minor) >= 2 && as.double(version$minor) < 3)) { quit("yes", 1) -} \ No newline at end of file +} diff --git a/tests/r/apt/verify b/tests/r/r-rspm-apt/verify.sh similarity index 72% rename from tests/r/apt/verify rename to tests/r/r-rspm-apt/verify.sh index 636a3374..152b3047 100755 --- a/tests/r/apt/verify +++ b/tests/r/r-rspm-apt/verify.sh @@ -1,6 +1,5 @@ #!/usr/bin/env bash set -euo pipefail + apt list apt list | grep libsodium-dev -# make sure we got R -which R diff --git a/tests/r/description-file/DESCRIPTION b/tests/r/r-rspm-description/DESCRIPTION similarity index 93% rename from tests/r/description-file/DESCRIPTION rename to tests/r/r-rspm-description/DESCRIPTION index 4571be16..2c51fc3c 100644 --- a/tests/r/description-file/DESCRIPTION +++ b/tests/r/r-rspm-description/DESCRIPTION @@ -1,6 +1,6 @@ Package: binderdescription Version: 0.1 -Date: 2018-09-18 +Date: 2022-06-23 Title: Binder R DESCRIPTION support Description: Test that automatically building R packages works Author: Bastian Greshake Tzovaras diff --git a/tests/r/description-file/NAMESPACE b/tests/r/r-rspm-description/NAMESPACE similarity index 100% rename from tests/r/description-file/NAMESPACE rename to tests/r/r-rspm-description/NAMESPACE diff --git a/tests/r/description-file/R/print_something.R b/tests/r/r-rspm-description/R/print_something.R similarity index 100% rename from tests/r/description-file/R/print_something.R rename to tests/r/r-rspm-description/R/print_something.R diff --git a/tests/r/description-file/README.md b/tests/r/r-rspm-description/README.md similarity index 100% rename from tests/r/description-file/README.md rename to tests/r/r-rspm-description/README.md diff --git a/tests/r/description-file/verify b/tests/r/r-rspm-description/verify similarity index 100% rename from tests/r/description-file/verify rename to tests/r/r-rspm-description/verify diff --git a/tests/r/r3.6-mran/install.R b/tests/r/r3.6-mran/install.R new file mode 100644 index 00000000..f609959e --- /dev/null +++ b/tests/r/r3.6-mran/install.R @@ -0,0 +1 @@ +install.packages("digest") diff --git a/tests/r/mran/runtime.txt b/tests/r/r3.6-mran/runtime.txt similarity index 100% rename from tests/r/mran/runtime.txt rename to tests/r/r3.6-mran/runtime.txt diff --git a/tests/r/mran/verify b/tests/r/r3.6-mran/verify similarity index 53% rename from tests/r/mran/verify rename to tests/r/r3.6-mran/verify index b15da154..26f56102 100755 --- a/tests/r/mran/verify +++ b/tests/r/r3.6-mran/verify @@ -1,7 +1,11 @@ #!/usr/bin/env Rscript -library('testthat') +library('digest') +# Fail if version is not 3.6 print(version) +if (!(version$major == "3" && as.double(version$minor) >= 6 && as.double(version$minor) < 7)) { + quit("yes", 1) +} # Fail if MRAN isn't the configured CRAN mirror if (!(startsWith(options()$repos["CRAN"], "https://mran.microsoft.com"))) { diff --git a/tests/r/r3.6/install.R b/tests/r/r3.6/install.R deleted file mode 100644 index b4fdeb90..00000000 --- a/tests/r/r3.6/install.R +++ /dev/null @@ -1 +0,0 @@ -install.packages("testthat") diff --git a/tests/r/r3.6/runtime.txt b/tests/r/r3.6/runtime.txt deleted file mode 100644 index 50ebaa6a..00000000 --- a/tests/r/r3.6/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -r-3.6-2018-07-07 diff --git a/tests/r/r3.6/verify b/tests/r/r3.6/verify deleted file mode 100755 index 42f33de3..00000000 --- a/tests/r/r3.6/verify +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env Rscript -library('testthat') - -print(version) -# Fail if version is not 3.6 -if (!(version$major == "3" && as.double(version$minor) >= 6 && as.double(version$minor) < 7)) { - quit("yes", 1) -} diff --git a/tests/r/r4.0-mran/install.R b/tests/r/r4.0-mran/install.R new file mode 100644 index 00000000..f609959e --- /dev/null +++ b/tests/r/r4.0-mran/install.R @@ -0,0 +1 @@ +install.packages("digest") diff --git a/tests/r/r4.0/runtime.txt b/tests/r/r4.0-mran/runtime.txt similarity index 100% rename from tests/r/r4.0/runtime.txt rename to tests/r/r4.0-mran/runtime.txt diff --git a/tests/r/r4.0/verify b/tests/r/r4.0-mran/verify similarity index 94% rename from tests/r/r4.0/verify rename to tests/r/r4.0-mran/verify index d715cb38..b821ec6c 100755 --- a/tests/r/r4.0/verify +++ b/tests/r/r4.0-mran/verify @@ -1,8 +1,8 @@ #!/usr/bin/env Rscript -library('testthat') +library('digest') -print(version) # Fail if version is not 4.0 +print(version) if (!(version$major == "4" && as.double(version$minor) >= 0 && as.double(version$minor) < 1)) { quit("yes", 1) } diff --git a/tests/r/r4.0-rspm/install.R b/tests/r/r4.0-rspm/install.R index b4fdeb90..f609959e 100644 --- a/tests/r/r4.0-rspm/install.R +++ b/tests/r/r4.0-rspm/install.R @@ -1 +1 @@ -install.packages("testthat") +install.packages("digest") diff --git a/tests/r/r4.0-rspm/verify b/tests/r/r4.0-rspm/verify index 091739e2..21bac29d 100755 --- a/tests/r/r4.0-rspm/verify +++ b/tests/r/r4.0-rspm/verify @@ -1,8 +1,8 @@ #!/usr/bin/env Rscript -library('testthat') +library('digest') -print(version) # Fail if version is not 4.0 +print(version) if (!(version$major == "4" && as.double(version$minor) >= 0 && as.double(version$minor) < 1)) { quit("yes", 1) } diff --git a/tests/r/r4.0/install.R b/tests/r/r4.0/install.R deleted file mode 100644 index b4fdeb90..00000000 --- a/tests/r/r4.0/install.R +++ /dev/null @@ -1 +0,0 @@ -install.packages("testthat") diff --git a/tests/r/r4.1/install.R b/tests/r/r4.1/install.R deleted file mode 100644 index b4fdeb90..00000000 --- a/tests/r/r4.1/install.R +++ /dev/null @@ -1 +0,0 @@ -install.packages("testthat") diff --git a/tests/r/r4.1/runtime.txt b/tests/r/r4.1/runtime.txt deleted file mode 100644 index a05a6121..00000000 --- a/tests/r/r4.1/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -r-4.1-2021-10-22 diff --git a/tests/r/r4.1/verify b/tests/r/r4.1/verify deleted file mode 100755 index c390f270..00000000 --- a/tests/r/r4.1/verify +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env Rscript -library('testthat') - -# Fail if version is not 4.1 -if (!(version$major == "4" && as.double(version$minor) >= 1 && as.double(version$minor) < 2)) { - quit("yes", 1) -} - -# R 4.1 always uses rspm snapshots -if (!(startsWith(options()$repos["CRAN"], "https://packagemanager.rstudio.com"))) { - quit("yes", 1) -} diff --git a/tests/r/simple/install.R b/tests/r/simple/install.R deleted file mode 100644 index b4fdeb90..00000000 --- a/tests/r/simple/install.R +++ /dev/null @@ -1 +0,0 @@ -install.packages("testthat") diff --git a/tests/r/simple/runtime.txt b/tests/r/simple/runtime.txt deleted file mode 100644 index 9be9b66e..00000000 --- a/tests/r/simple/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -r-2020-07-07