Background
The Github repository for the R client has two main branches, "develop" and "master". "Master" contains the series of released versions of the R Client, each tagged according to its version. "Develop" is the branch for on-going development work. It is merged into Master when a new version is released.
Builds are done using Jenkins jobs which run at at http://ec2-54-245-172-65.us-west-2.compute.amazonaws.com:8080 (this will be updated with a permanent CNAME)jenkins.sagebase.org:8080. There are jobs for (1) building the client from the Github repository, (2) deploying clients to Sage's LRAN (depot.sagebase.org) and (3) for testing versions deployed to the LRAN.
Deployment Steps
To deploy a new version of the R client to depot.sagebase.org and verify that it runs againt production Synapse:
- clone Sage-Bionetworks/rSynapseRepository
- switch to the develop branch
git checkout develop
- set the version for the new release, by editing the "Version:" field in the DESCRIPTION file. Also update "Date:" to be the current date and fill in "ReleaseNotes:" with a brief description of the main features or fixes which are included in the new version. Edit man/synapseClient-package.Rd, ensuring its Version and Date fields match those in the DESCRIPTION file.
...
- push to Github
git push origin develop
- go to the Jenkins dashboard (http://ec2-54-245-172-65.us-west-2.compute.amazonaws.comjenkins.sagebase.org:8080) and verify that the "rSynapseClient-develop" job completed successfully
- merge from develop to master
git checkout master
git merge develop
...
git push origin master git push --tags
- go to the Jenkins dashboard (http://ec2-54-245-172-65.us-west-2.compute.amazonaws.comjenkins.sagebase.org:8080) and verify that the "rSynapseClient-master" job completed successfully
- In Jenkins, run deploy-rSynapseClient-master, and verify that it completes successfully
...
Code Block |
---|
# Download source package from depot.sagebase.org # On Belltown (intel) sudo#sudo scp depot.sagebase.org:/data/srv/www/htdocs/Foswiki/CRAN/prod/2.14/src/contrib/synapseClient_0.20-0.tar.gz . module#module load R/2.14.1-intel sudo#sudo R CMD INSTALL synapseClient_0.20-0.tar.gz -l /gluster/toolbox/R/2.14.1-intel/lib64/R/library module#module unload R/2.14.1-intel module load R/2.15.0-intel sudo R CMD INSTALL synapseClient_0.20-0.tar.gz -l /gluster/toolbox/R/2.15.0-intel/lib64lib/R/library # On sodo (amd) module#module load R/2.14.1-intel sudo#sudo R CMD INSTALL synapseClient_0.20-0.tar.gz -l /gluster/toolbox/R/2.14.1-amd/lib64/R/library module#module unload R/2.14.1-amd module load R/2.15.0-amd sudo R CMD INSTALL synapseClient_0.20-0.tar.gz -l /gluster/toolbox/R/2.15.0-amd/lib64/R/library |
...
Note: The specifics will change as newer version of R are released.
How to Black List a Version
If a version of the R Client is problematic or incompatible with a version of the Synapse server, there is a mechanism to disable or "black list" that version of the client.
...
Verify that the file has been modified correctly: Run the integration test suite in Jenkins, as described above. This will exercise the black list, ensuring correctness.
References
R documentation
...
bash
Jenkins
...