docker-stacks icon indicating copy to clipboard operation
docker-stacks copied to clipboard

Verify contributed recipes

Open mathbunnyru opened this issue 3 years ago • 3 comments

Contributed recipes are not checked in CI, were mostly added a long time ago and so they might be out-of-date. It would be nice if someone checked them, updated packages versions used there and verified that they still work.

mathbunnyru avatar May 22 '21 22:05 mathbunnyru

Perhaps we should include a date for when they were added to the list, and allow that date to be updated whenever it is known to "be functional" (vague, but it's fine I think).

consideRatio avatar May 22 '21 22:05 consideRatio

Yes, something like Last verified near each recipe should be fine.

mathbunnyru avatar May 22 '21 22:05 mathbunnyru

An example: https://github.com/jupyter/docker-stacks/pull/1617

mathbunnyru avatar Feb 10 '22 15:02 mathbunnyru

One more example: https://github.com/jupyter/docker-stacks/issues/1951

mathbunnyru avatar Jul 28 '23 08:07 mathbunnyru

I had an idea on how to fix this:

  1. Express all recipes as Dockerfiles - done in several commits today.
  2. Create a separate file for each Dockerfile in the docs. They will be called feature.dockerfile MyST: https://myst-parser.readthedocs.io/en/latest/syntax/code_and_apis.html#including-code-from-files Sphinx: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-literalinclude
  3. Enable pre-commit hooks on these Dockerfile - default hadolint doesn't work well with .dockerfiles.
  4. The most interesting part - create a separate GitHub Workflow, which will build these recipes. So, our recipes will always be buildable.
  5. Mark outdated recipes as outdated. If someone want to fix them, they will easily use my workflow to verify the recipe is working fine.

After these steps I will consider this issue closed and even to be future-proof (because we'll have automatic tests).

mathbunnyru avatar Jul 28 '23 14:07 mathbunnyru

@consideRatio I think you're going to like this 🙂

mathbunnyru avatar Jul 28 '23 14:07 mathbunnyru

Done. We currently have 8 working (and automatically tested) Dockerfiles. And 13 untested and possibly broken ones. They are marked as warnings in documentation, so people will be aware there might be some problems. I will be happy to merge fixes for these recipes.

mathbunnyru avatar Jul 28 '23 15:07 mathbunnyru

@consideRatio I think you're going to like this 🙂

Yes I love it!!! Amazing work as always @mathbunnyru!!!

consideRatio avatar Jul 31 '23 20:07 consideRatio

@consideRatio a bit more improvements here: GitHub allows to generate a matrix for execution, that's why I don't need to hardcode list of docker images to build and just build them all: https://github.com/jupyter/docker-stacks/pull/1973 Using this generation script it's easy to disable recipes which do not work under aarch64 (or x86_64 if there will be such recipes): https://github.com/jupyter/docker-stacks/pull/1974

mathbunnyru avatar Aug 19 '23 15:08 mathbunnyru