Skip to content

Add more ubuntu build runs for CI#46

Open
gdevenyi wants to merge 2 commits intospinicist:masterfrom
gdevenyi:more-builders
Open

Add more ubuntu build runs for CI#46
gdevenyi wants to merge 2 commits intospinicist:masterfrom
gdevenyi:more-builders

Conversation

@gdevenyi
Copy link
Copy Markdown

Added all currently supported Ubuntu versions and adjusted artifact filenames.

Fixes #43

Untested due to being a "release" action.

@gdevenyi gdevenyi marked this pull request as draft May 23, 2024 21:06
@gdevenyi
Copy link
Copy Markdown
Author

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

@gdevenyi
Copy link
Copy Markdown
Author

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

@spinicist
Copy link
Copy Markdown
Owner

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
Copy link
Copy Markdown
Owner

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
Copy link
Copy Markdown
Author

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?

@spinicist
Copy link
Copy Markdown
Owner

Should we compromise on a single version compiled on 22.04? 20.04 is out of support now.

@gdevenyi
Copy link
Copy Markdown
Author

Non-commercial extended support for 22.04 ends next year, maybe time to move to 24.04?

image

@spinicist
Copy link
Copy Markdown
Owner

Let's stick with 22.04 for now. Academics are notorious for slow upgrades! I like having the version in the artifact name, it makes it clear to users what they are getting.

@gdevenyi gdevenyi marked this pull request as ready for review April 15, 2026 14:46
Copilot AI review requested due to automatic review settings April 15, 2026 14:46
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Expands the CI build matrix to produce release artifacts for multiple Ubuntu runner versions, aiming to ensure Linux binaries remain compatible with older GLIBC versions (per #43).

Changes:

  • Split the single Ubuntu CI build into separate runs for Ubuntu 24.04, 22.04, and 20.04.
  • Adjust Linux artifact names to include the Ubuntu version in the filename.
  • Make the Ubuntu apt install non-interactive and ensure make is installed.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/build.yml
gdevenyi and others added 2 commits April 15, 2026 10:54
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@spinicist
Copy link
Copy Markdown
Owner

Pull request overview

Expands the CI build matrix to produce release artifacts for multiple Ubuntu runner versions, aiming to ensure Linux binaries remain compatible with older GLIBC versions (per #43).

Changes:

  • Split the single Ubuntu CI build into separate runs for Ubuntu 24.04, 22.04, and 20.04.
  • Adjust Linux artifact names to include the Ubuntu version in the filename.
  • Make the Ubuntu apt install non-interactive and ensure make is installed.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Okay, time to leave Github

@spinicist
Copy link
Copy Markdown
Owner

Right, https://codeberg.org/spinicist/QUIT is live but lacking the CI/actions to create an automatic build. That needs investigating. Once done, this repo will be archived.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

qi v3.4 not working on ubuntu 20.04

3 participants