Three steps are required. This document uses the addition of R 3.6.0
as an example, where the previous latest
install was R 3.5.0
.
- Look in
\\fi--didef3\Software\HPC\R
. - Download the new R installer, and save it in the folder.
- Install it locally. Verify the executable folders created are of this form:
C:\Program Files\R\R-3.6.0\bin\i386\Rscript.exe
C:\Program Files\R\R-3.6.0\bin\x64\Rscript.exe
- Copy the most recent
setr32_3_5_0.bat
andsetr64_3_5_0.bat
to new filenames matching the new version. - Edit each one, so that the directories match the above - for example:
set path=%path%;C:\Program Files\R\R-3.6.0\bin\x64
- Copy the most recent install file (eg,
install_r_3_5.0.bat
) to the new version name (install_r_3_6_0.bat
). - Edit it, and change the version variable to match the new version:
set R_VERSION=3.6.0
- Test the install manually on a single node by remote desktop.
- If all seems well, use HPC Cluster Manager to install it on the nodes. I recommend no more than 30 at a time.
- Update
update_r_all.bat
- add the new install batch file to the list, which gets used when installing a new node.
- On a new branch, update
R/config.R
- Update this block of code in the function
rtools_versions
, which associates the right version of Rtools with the right version of R. Verify this is the correct version of Rtools here.
ret <- switch(r_version_2,
"3.2" = list(path = "Rtools33", gcc = "gcc-4.6.3"),
"3.3" = list(path = "Rtools33", gcc = "gcc-4.6.3"),
"3.4" = list(path = "Rtools34", gcc = mingw),
"3.5" = list(path = "Rtools34", gcc = mingw),
"3.6" = list(path = "Rtools34", gcc = mingw),
stop("Get Rich to upgrade Rtools"))
- Locate the
r_versions
function and update the list of valid versions with the new one. This should match the filenames of the newsetr32
andsetr64
batch files created earlier.
r_versions <- function() {
v <- c("3.2.2", "3.2.4", "3.3.1", "3.3.2", "3.4.0", "3.4.2", "3.4.4",
"3.5.0", "3.6.0")
- Update the minor version in
DESCRIPTION
, and add an entry inNEWS.md
. - Commit changes on the branch - but wait for last step before PR / merging.
Log into a remote desktop
remotes::install_github("mrc-ide/conan@prototype", upgrade = FALSE)
r_version <- paste(getRversion()[1, 1:2], collapse = ".")
path <- file.path("T:/conan/bootstrap", r_version)
conan::conan_bootstrap(path, TRUE)
Run this from both 4.0 and 3.6; we'll want to do this periodically.
The didehpc-pkgs
should also be updated as that is where provisioning comes from (here to avoid conflicting package versions)
- Make a pull Request for the new version of didehpc, request a review, and await merging.
- After merging,
drat
will need updating. - Inform
Cluster
channel on Teams