H-Mateus / dri-reproducibility-template

A standardised project template for incorporating best practices in reporducibility
GNU General Public License v3.0
4 stars 0 forks source link

Continuous integration ideas #4

Open H-Mateus opened 1 year ago

H-Mateus commented 1 year ago

I'd like to leverage CI to at the very least automatically containerise the project environment.

I've added an action for doing this with renv already, but it may be nice to have a variant for conda to make it more generalisable

I'd also like for the action to render any Quarto project that's present in the repo to insure all the resources needed for rendering are present

It'd also be nice to add CI for linting both for file names (see #1 ) and code A quick search led me to this action, so may make a good starting place

I'm also wondering if it may make sense to have multiple variants of the template with different CIs (one for renv, one for conda, etc) 🤔

H-Mateus commented 1 year ago

Amonida and I had a chat about the possibility of some sort of CI that could assist with data sharing.

Perhaps if we incorporated a structure in the template that delineated where certain kinds of data go (ie genetic data vs cell assays, etc), probably just into different pre-named directories, then maybe we could build a CI that would tell the user where they should upload their data. Perhaps it could link to the relevant wiki page?

More ambitiously, could a CI try to automatically publish the data to the appropriate repositories, perhaps on a release with a certain tag?

This also links to the idea of data management plans. Perhaps one could build a GUI tool that would ask the user simple triage questions and then fork a template repository with the right settings/ a readme prefilled with details on where and when data should be shared/managed for the duration of the project. I also mentioned this topic here in #2...

H-Mateus commented 1 year ago

Having a CI to check for profanities and one for any sensitive information (passwords, ssh keys, etc) would also probably be wise

jatkinson1000 commented 1 year ago

For python repos I would usually have an action to check against the black code style. You might be able to do something similar with formatR or similar (I'm not particularly well versed in R or its ecosystem).

You can also set up CI for documentation building and publication.