-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementing continuous integration #14
Comments
Nice one, thanks Vincent.
I’ll have a look into the config file this weekend and see if I can get something to work (will keep you posted) Cheers Tom |
I have worked on fixing points 1, 4, 5, 6, and 7, so it should pass the checks without any errors. I'll look into the config tables next. |
Thanks Tom. Sorry for not replying any sooner. I have been busy with getting the rest of the Habitus Shiny app to work. In the upcoming two weeks I can free up some days to help you with preparing Palmsplusr. For the Habitus app I would like to arrive at a palmsplusr wrapper function, either inside palmsplusr OR as a function that lives inside the app, which applies Palmsplusr to some user-selected datafolder(s)/file(s), aided by a configuration file. Would it help if I start drafting this wrapper function? Maybe that could help me to familiarise myself with Palmsplusr and from that discover what else I may be able to contribute. |
I have been working on the
I've got it functional at the basic level (without any user GIS files). I'll work on it more over the next few days and come up with a list of questions (e.g. format of HABITUS output, where and how the output is saved). Cheers |
Hi @TheTS, as discussed I would like to help implement continuous integration for palmsplusr. This will, once implemented, automatically check whether changes to the code break existing functionality. In other words it will make contributing to palmsplusr more attractive and less stressful.
I have just installed palmsplusr and tried to run the package tests and R package checks, and noticed some issues. To get started with the continuous integration it would be good to first have a version of the code where all tests and checks pass. Here is a list of the issues I ran into:
License: LGPL-3
needs to beLicense: LGPL-3 | file LICENSE
For example:
parse_expr
is not flagged by R checks but can become a security vulnerability when using PALMSplus in the cloud, see also this and this post. Ideally users should not be allowed to insert code snippets. If this is unavoidable then my proposal would be that we add a function that checks the code string for potential malicious content before it is evaluated withparse_expr
.Warning message:
setwd()
should be avoided. As a temporary fix I have added both tests to the .RBuildignore. However, it would be good if tests could be rewritten such that functionality is tested without this dependency. For example with a tiny dummy dataset or real anonymized dataset.Next steps:
I suppose 2, 3, and 7 are most critical for Habitus. So, I can start with 2 and 3.
The text was updated successfully, but these errors were encountered: