Update to Ubuntu 26.04 and ROOT 6.38.04#188
Conversation
|
Just as a heads up, when I was experimenting with bumping the ROOT version, the image was failing to push to DockerHub: https://github.com/LDMX-Software/dev-build-context/actions/runs/25692264293 This error happens at the end of the build and is fairly opaque: I fear that it has to do with the caching since it fails in the build step of trying to push the cache. From a little searching, this looks like the layer being pushed is too large. Either we need to drop all caching (which works) or maybe we can get away with dropping the Another solution is to look back at customizing the CI workflow to cache locally on the runner. This makes sense for us since we just have the single VM acting as the runners doing the building. Right now, we treat it like two runners and have GitHub distribute the load, but we could treat it like one runner and do the parallel-building within the action itself. |
|
My concerns were confirmed. The amd64 run failed to push its cache to DockerHub like what happened on my branch. https://github.com/LDMX-Software/dev-build-context/actions/runs/25886123565/job/76078111961 I got around this issue by remove the The largest layer in the current cache on DockerHub (so the largest layer that was successfully pushed) is below 1GB. I think it makes sense that they would prevent individual layers from exceeding 1GB, so that is probably the issue. I don't know which layer is exceeding the size limit but I suspect its the ROOT one since ROOT is the one changing. I don't know how ROOT would increase the layer size by ~275MB though if that is the issue. |
|
OK so I guess we have to remove the |
|
Yea :/ pending some other solution I'm unaware of |
|
|
|
So our old GEANT does not work out with the gcc15 within ldmx-sw (I think we have seen this issue with the lto build too, so it's not completely new), so I compile GEANT with gcc13 in 7e2efee I have spent some time on trying to make the gcc15 based GEANT work, but at this point I gave up. Especially since we plan to update GEANT too anyway |
|
So I should wait for https://github.com/LDMX-Software/dev-build-context/actions/runs/26109399080 to finish before merging, right? |
|
Yes, I would - then we will have a build at |
Sounds good
I expect a lot to fail w/o |
|
Yea, which motivates updating the legacy interop patches https://ldmx-software.github.io/dev-build-context/interop.html and maybe updating the oldest ldmx-sw version that we commit to compiling with the image. |
|
Hmm so it's not failing? https://github.com/LDMX-Software/dev-build-context/actions/runs/26109399080/job/76782195508?pr=188 |
|
Nope, it takes ~6hr to build x86 and ~48hr to build the ARM (since its emulating ARM on an x86 machine). After both successfully build, the image is merged into one "image manifest" so ARM and x86 users can pull from the same tag. At this point, it runs the ldmx-sw tests. The specific job your linked is just reading in the ci/ldmx-sw-to-test.json file and creating GitHub jobs from them. Those "Test X.Y.Z" Jobs will spawn after the build+merge completes. Edit: You can see the final job tree as an example here: https://github.com/LDMX-Software/dev-build-context/actions/runs/23150843005 |
|
hey @tomeichlersmith what do you think if we say we drop supporting v3 fully with this image and then v4.0.5 too (it's a little pity that it's not just dropping support for v3 but looking at the logs the needed changes to v4.0.5 are actually quite substantial) Two other points: If you agree let me know what I need to do, maybe it's just editing the documentation? |
|
Oh also after this is merged, shall the new version be |
|
I'm fine with dropping support for those old versions of ldmx-sw, I think the Yes, I think this motivates a major release of the image. |
v4.0.5
I am adding a new package to the container, here are the details.
What new packages does this PR add to the development image?
Check List
Yes with LDMX-Software/ldmx-sw#2047
I can compile and run ldmx-sw