Closed MathiasMagnus closed 5 months ago
@rpavlik @oddhack Can you please review this PR?
The working group has made the decision that the CI/CD improvement PRs should be merged with using the khronosgroup/opencl*
Docker images in the Linux jobs. This affects the following PRs:
I expect the CI on this PR to pass, see this job on our fork: Added OpenCL entries to build-all.sh
It looks fine to me. If it passes CI then I will just merge it, this is purely additive and does as much reuse as possible so all good.
One comment, IME github and gitlab CI both suffer from some weird caching issues when it comes to updating the image on Dockerhub such that just using the image name is not guaranteed to get you the current version of the image. We deal with this in Vulkan by using the image SHA when specifying the image in CI scripts. Tagging the images with dates as some of the XR images have done is also viable. It is unfortunate and annoying since the image specification has to be updated when pushing new images with new required components, OTOH at least you know you are using a known-good image.
@rpavlik I wonder if we should parallelize the build-all script? It takes a long time to run CI and should be trivial.
CI passed, so merging.
@MathiasMagnus now that the PR has been accepted, the other part is getting the images onto khronosgroup on dockerhub. Due to cost issues only a couple of us have write access to do that. If you are happy with how the Dockerfiles stand in main branch now, let me know and I'll go ahead and build / push the images for you, which will need to be repeated whenever changes to the Dockerfiles happen. It is unfortunately clunky.
@oddhack Yes, the images as they are submitted are currently fine. Please build and push the images so downstream repos can use it instead of the images under the Stream HPC DockerHub user. Ubuntu 24.04 will need to be tackled in the near-to-medium future, but 20.04 should still be tested and supported for the foreseeable future.
Sorry for skipping this - the images have been pushed to khronosgroup/docker-images on dockerhub now. They were so large and consumed so much Docker build space that it nearly filled up my SSD - we will need to find another solution when these need to be updated in the future, probably a Khronos VM from whence the images can be built and pushed. Also BTW there are a large number of severe/critical vulnerabilities identified in the Ubuntu 20 images according to dockerhub, perhaps because the OS is so old.
Thank you!
These images are used throughout the OpenCL ecosystem, CI in OpenCL-Headers, OpenCL-ICD-Loader, OpenCL-CLHPP, OpenCL-Layers and OpenCL-SDK are all using these images. Currently they're stored under the Stream HPC docker account, but we would like to hand them over to Khronos.