spinicist / QUIT

A set of tools for processing Quantitative MR Images
Mozilla Public License 2.0
58 stars 20 forks source link

Add more ubuntu build runs for CI #46

Open gdevenyi opened 2 months ago

gdevenyi commented 2 months ago

Added all currently supported Ubuntu versions and adjusted artifact filenames.

Fixes #43

Untested due to being a "release" action.

gdevenyi commented 2 months ago

Turns out it does run on my fork, testing first.

gdevenyi commented 2 months ago

vcpkg errors I don't understand at all: https://github.com/gdevenyi/QUIT/actions/runs/9214859976/job/25351989045

spinicist commented 2 months ago

vcpkg errors I don't understand at all: https://github.com/gdevenyi/QUIT/actions/runs/9214859976/job/25351989045

The available GCCs in 24.04 are different to 22.04 (see https://github.com/actions/runner-images?tab=readme-ov-file#available-images). I assume that means the default GCC changes, and possibly the default C++ standard as well. If 24.04 support is crucial then the first thing to do is to bump the dependencies and see if the latest ITK in vcpkg has already fixed this. Do you have a local 24.04 box available?

spinicist commented 2 months ago

Great to see that QUIT does compile on 20.04 after all.

I'm very happy to add more Linux versions to the CI but I think it best to keep only one binary download, compiled on the oldest available Ubuntu/glibc and the highest version of GCC available within that. As I understand it, that binary will be forward compatible with all later glibcs, so I can't see a reason to have versions compiled on later glibcs as well?

gdevenyi commented 2 months ago

If 24.04 support is crucial then the first thing to do is to bump the dependencies and see if the latest ITK in vcpkg has already fixed this. Do you have a local 24.04 box available?

No, not critical here, it looks like the existing build works on 24.04

As I understand it, that binary will be forward compatible with all later glibcs, so I can't see a reason to have versions compiled on later glibcs as well?

This is probably the case, depending on how exactly you compile here, I'm not super-familiar with the vspkg/cmake mode. I'm just mirroring what I see in most other software binary releases, one release per version.

Shall I pivot to 20.04 with the latest available GCC as the single builder for this then?