<div dir="ltr"><div>Thanks for starting this. It would be a great contribution.</div><div><br></div><div>Something I've wanted for a very long time is to have a checkpoint/resume for ABCL - would function like save-world in other lisps. Doing this would make it practical to build tools which use lots of code, such as my own, start up quickly and become practical for script usage. Docker allegedly has some support for this but I've never seen it work on MacOS. If this is something you have any awareness of how to do I'd love to see that integrated into an ABCL docker image.</div><div><br></div><div>Could you say a few words about the image OS environment and your considerations when choosing it, and a bit on how to understand the tags? <br></div><div><br></div><div>Thanks,</div><div>Alan<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Nov 7, 2020 at 3:30 PM Eric Timmons <<a href="mailto:etimmons@mit.edu" target="_blank">etimmons@mit.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello fans of the Armed Bear,<br>
<br>
As you've probably noticed, Docker and similar technologies are<br>
extremely popular these days. Additionally, there is unfortunately no<br>
Common Lisp representation in Docker's Official Images program (the<br>
Docker standard library, if you will). I'd like to change that and ABCL<br>
seems like a good candidate to start with because it's both relatively<br>
simple to Dockerize and Mark is supportive of getting CL representation<br>
in that program.<br>
<br>
I've been maintaining some Common Lisp related Docker images in my<br>
personal namespace (daewok) for several years now. I recently moved the<br>
repos to a <a href="http://gitlab.common-lisp.net" rel="noreferrer" target="_blank">gitlab.common-lisp.net</a> group (mirrored to Github) and have<br>
cleaned up/gotten ABCL's repos into a state where I believe they adhere<br>
to all of the Official Image program's guidelines and are ready for<br>
inclusion.<br>
<br>
I wanted to reach out to 1) get any feedback from ABCL devs and users to<br>
make sure the images are useful and 2) get consent from the ABCL devs to<br>
submit to the program.<br>
<br>
First, the code:<br>
<br>
The Dockerfiles themselves are located at<br>
<a href="https://gitlab.common-lisp.net/cl-docker-images/abcl" rel="noreferrer" target="_blank">https://gitlab.common-lisp.net/cl-docker-images/abcl</a><br>
<br>
The manifest for inclusion in the Official Images program is at<br>
<a href="https://gitlab.common-lisp.net/cl-docker-images/official-images/-/blob/abcl/library/abcl" rel="noreferrer" target="_blank">https://gitlab.common-lisp.net/cl-docker-images/official-images/-/blob/abcl/library/abcl</a><br>
<br>
The documentation for inclusion on Docker Hub is at<br>
<a href="https://gitlab.common-lisp.net/cl-docker-images/docs/-/tree/abcl/abcl" rel="noreferrer" target="_blank">https://gitlab.common-lisp.net/cl-docker-images/docs/-/tree/abcl/abcl</a><br>
<br>
All of these are also mirrored to the cl-docker-images org on Github.<br>
<br>
The images are built for the cross product of {buster,<br>
windowsservercore-1809, windowsservercore-ltsc2016} x {jdk8, jdk11,<br>
jdk15} x {arm64, amd64} (except for all combos containing jdk8 and<br>
arm64). The current versions of the images are located at<br>
<a href="https://hub.docker.com/r/daewok/abcl" rel="noreferrer" target="_blank">https://hub.docker.com/r/daewok/abcl</a> if you would like to check them<br>
out.<br>
<br>
I am planning that only the latest version of ABCL will be<br>
"supported". The initial request would also backfill 1.7.1. Once a<br>
version becomes unsupported it would not be removed from Docker hub, it<br>
just receives no more base image updates.<br>
<br>
Next, some info about Docker Official Images:<br>
<br>
Documentation on the program is located at<br>
<a href="https://docs.docker.com/docker-hub/official_images/" rel="noreferrer" target="_blank">https://docs.docker.com/docker-hub/official_images/</a> and<br>
<a href="https://github.com/docker-library/official-images" rel="noreferrer" target="_blank">https://github.com/docker-library/official-images</a><br>
<br>
In summary, every image in the program is reviewed by a team for best<br>
practices and security, built by that team, and is available for pulling<br>
without specifying a namespace (e.g., `docker pull abcl:latest`). This<br>
helps give users confidence in the code they're running, as opposed to<br>
pulling from random personal namespaces.<br>
<br>
Even the Official Images team admits that "Official Images" is not a<br>
great name as it can imply that the upstream of the software contained<br>
in the image maintains the images when that is frequently not the<br>
case. As I'm not an ABCL dev myself, the image would be considered<br>
community maintained and the description on Docker Hub would clearly<br>
point to the cl-docker-images/abcl repo as where to file issues with the<br>
images. But it is very conceivable that random users may show up on this<br>
list asking for help. I am subscribed to this list and will do my best<br>
to redirect/answer any of those types of emails that come in.<br>
<br>
Thoughts, questions, concerns?<br>
<br>
-Eric<br>
<br>
</blockquote></div>