Skip to content
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

Executable compenium template #110

Closed
chainsawriot opened this issue Mar 9, 2023 · 8 comments
Closed

Executable compenium template #110

chainsawriot opened this issue Mar 9, 2023 · 8 comments
Labels

Comments

@chainsawriot
Copy link
Collaborator

chainsawriot commented Mar 9, 2023

@chainsawriot
Copy link
Collaborator Author

chainsawriot commented Mar 14, 2023

How about we just use the structure of Turing (rather than inventing something new):

compendium/
├── CITATION
├── code
│   ├── analyse_data.R
│   └── clean_data.R
├── data_clean
│   └── data_clean.csv
├── data_raw
│   ├── datapackage.json
│   └── data_raw.csv
├── Dockerfile
├── figures
│   └── flow_chart.jpeg
├── LICENSE
├── Makefile
├── paper.Rmd
└── README.md

It means that:

  • We copy the materials_dir (assume that it contains data_*, code and paper.Rmd) as the output_dir.
  • Place Dockerfile
  • Create a directory called rang (or even ./inst/rang) and put cache (if cache is TRUE) and rang.R there.
  • In the Dockerfile, just COPY * /*
  • Rewire the current Dockerfile to RUN rang/rang.R
  • Rewire cache to rang/cache in rang/rang.R

@schochastics
Copy link
Member

I was comparing the compendiums the other day and I also like the Turing way best. Lets go with that one.

@chainsawriot
Copy link
Collaborator Author

chainsawriot commented Mar 14, 2023

Maybe inst/rang is a better idea because we can also cover rrtools. We can just have a function called rang::use_rang() to insert our rang things into a format-independent existing compendium directory. We can also provide a function called rang::use_turing() to generate a basic structure.

Potential features / issues

  • Makefile detection to insert make as a sysreqs
  • How about rrtools' Quarto?
  • Is this real?

@schochastics
Copy link
Member

I like the use_* approach. eventually one could also implement other compendiums like this. Can you help me understand the "is this real" comment. Is that a GHA to build a docker image?

@chainsawriot
Copy link
Collaborator Author

Quote from the readme

this also creates creates a minimal .yml configuration file to activate continuous integration using GitHub Actions. This will attempt to render your qmd document, in a Docker container specified by your Dockerfile, each time you push to GitHub.

With this default Dockerfile

https://github.com/benmarwick/rrtools/blob/f71bddccf00d124512a8f20a4df08cd5e069f53e/inst/templates/Dockerfile#L1-L22

Too good to be true, e.g. no installation of Quarto CLI. But well, it says "attempt".

@schochastics
Copy link
Member

oh ok that would be something :-O

@chainsawriot
Copy link
Collaborator Author

chainsawriot commented Apr 12, 2023

Tasks

  • use_rang
  • use_turing create_turing
  • A vignette
  • Integration of apptainer
  • Don't use ... in create_turing

chainsawriot added a commit that referenced this issue Sep 27, 2023
chainsawriot added a commit that referenced this issue Sep 27, 2023
* Not using ... ref #110

* Update doc

* Correct docs

* Change the default CRAN_mirror

* Revert "Change the default CRAN_mirror"

This reverts commit 98e03b0.
chainsawriot added a commit that referenced this issue Oct 6, 2023
* Not using ... ref #110

* Update doc

* Correct docs

* Change the default CRAN_mirror

* Revert "Change the default CRAN_mirror"

This reverts commit 98e03b0.

* Apptainer

* MF
@chainsawriot
Copy link
Collaborator Author

#159 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants