All-in-one minimal multi-stage Dockerfiles, and GitHub action to buil…#259
All-in-one minimal multi-stage Dockerfiles, and GitHub action to buil…#259nickcmaynard wants to merge 2 commits intoOpenSourceRisk:masterfrom
Conversation
…d release images Trigger on Docker changes, too Fix bug in cache-to declaration when in PR Search the PATH for the ORE executable when running Examples Typo Add basic usage documentation for the container images Use ENTRYPOINT and update docs to match Try to nail down the intra-build cache Use GHA cache anyway, should catch PR rebuilds better Attempt to isolate the various flavour builds from each other within the GHA cache Cache from -latest as well Use dynamic flavour Trigger on workflow changes Attempt to convert "config" to flavour params remove some redundant comments and rearrange for readability Include tests in the Dockerfiles in a skippable way Perform tests inside docker build Clarity changes Make test results register correctly in PRs etc. Fix bad cache spec
|
Folks, a lot of effort was put into this. I hope that ORE hasn't been abandoned. |
|
Hi @nickcmaynard, thank you so much for your contribution. ORE has not been abandoned, and a new release is forthcoming. |
|
@farahkhashman Thanks for your response. With the complexity of ORE, I would encourage you to use container images as your primary delivery method - this means your customers don't have to go through the hassle of compiling. How you choose to distribute those images (ghcr.io, docker.io, your own repository) is largely immaterial - I am not wedded to ghcr.io! If you would like me to wait for your new version, then submit an alternative PR with the Actions stuff stripped out, and pytest used, I would be happy to do that. |
This PR adds:
centos-stream9,debian11andfedora40which compile & test (with Examples), and package minimal container images for executing ore-engine within a Container, thus avoiding the need for users to install dependencies, compile, etc. manually.centos-stream9anddebian11all automatically, creating release-quality minimal container images in theghcr.iocontainer image repository associated with OpenSourceRisk (see https://github.com/nickcmaynard/ore-engine/pkgs/container/ore-engine)ore, allowing execution of an Example within the container.Limitations:
debian11is notdebian12due to the Python-basedExamples/test suite's requirement for the "nose" library. "nose" needs Python 3.9 and debian12 doesn't have that. This area needs some work from a Python-capable person - "nose" appears to be beset with maintenance and IP concerns.