Docker Image CI: builds a Hub-compatible docker image (with support for RStudio and VSCode proxies)
Quarto Publish: same as original, but building the cookbook inside the image (with _freeze cache)
Quarto Test Build: Build the cookbook from scratch on the docker image to test; monthly, on push changes, or manual trigger
We've also added a .devcontainer config so that you can launch into an interactive version of the container using GitHub Codespaces. Codespaces defaults to a VSCode editor, but can open RStudio Server in a port. It can also switch in to JupyterLab mode. Local desktop users of vscode will also be prompted to 'open in devcontainer' or can run the docker image in standalone mode.
This is set up so that all actions pass, but this isn't all working perfectly yet. Specifically, I could not get all the cookbook recipes to re-build, even when running on the Openscapes hub. A few may need updates, while others look like they aren't designed to run outside of AWS us-west-2, maybe we need a better way to document that and run conditionally? For now, quarto is building without the --execute flag, effectively meaning that the .qmd / R notebooks get tested by Test Build, but no the the Jupyter ipynbs's.
There are also actually two Docker tags being built on this CI -- one provides a virtualenv-based environment, the other a conda-based one. The conda-based one is a bit larger (~ 13 GB), almost too large to be easily used in some contexts (e.g. codespaces small machines and some github actions runners don't have sufficient disk space). But these images could be streamlined or swapped out entirely, the main point of this PR is to illustrate that it's easy to adjust the underlying container and then re-use that container across multiple settings (e.g. laptop, gh-actions tests, codespaces, openscapes hub, etc).
Hi @cboettig this is so awesome! 🚀 We can plan to merge this in Coworking on Thursday with the Mentors; excited to discuss together about it. Thank you!
Provides three GitHub Actions (https://github.com/eeholmes/earthdata-cloud-cookbook/actions):
This is set up so that all actions pass, but this isn't all working perfectly yet. Specifically, I could not get all the cookbook recipes to re-build, even when running on the Openscapes hub. A few may need updates, while others look like they aren't designed to run outside of AWS us-west-2, maybe we need a better way to document that and run conditionally? For now, quarto is building without the
--execute
flag, effectively meaning that the.qmd
/ R notebooks get tested by Test Build, but no the the Jupyter ipynbs's.There are also actually two Docker tags being built on this CI -- one provides a virtualenv-based environment, the other a conda-based one. The conda-based one is a bit larger (~ 13 GB), almost too large to be easily used in some contexts (e.g. codespaces small machines and some github actions runners don't have sufficient disk space). But these images could be streamlined or swapped out entirely, the main point of this PR is to illustrate that it's easy to adjust the underlying container and then re-use that container across multiple settings (e.g. laptop, gh-actions tests, codespaces, openscapes hub, etc).