Skip to content

CI: make nightly workflow more multiarch friendly#18506

Merged
TurboGit merged 2 commits intodarktable-org:masterfrom
kmilos:kmilos/ci_multiarch
Mar 6, 2025
Merged

CI: make nightly workflow more multiarch friendly#18506
TurboGit merged 2 commits intodarktable-org:masterfrom
kmilos:kmilos/ci_multiarch

Conversation

@kmilos
Copy link
Contributor

@kmilos kmilos commented Mar 4, 2025

This is a prelude to making release packages for aarch64, either for Linux or Windows.

However, there is stuff missing to progress further:

For Linux:

  • There are runners and containers available, but ppa:savoury1 repos don't supply aarch64 builds
  • Alternatively could just use the latest packages provided by the image (makes the install step more complicated) - releases won't be fully equivalent unfortunately

For Windows:

  • No public runners yet
  • NSIS is missing ATM from the CLANGARM64 to create a native package

@kmilos kmilos requested a review from victoryforce March 4, 2025 19:46
@kmilos kmilos marked this pull request as draft March 5, 2025 11:33
@victoryforce
Copy link
Collaborator

I don't see any urgent need to make it "multi-arch friendly" when we can't progress any further.

We can't create a package for Windows and it's not known if that will ever change.

As for AppImage, I'd like to remind you that there are nightly builds of packages for many popular arm64 distributions on OBS.

I don't see the benefit of building AppImage packages for several second-tier distributions available on arm64 and not represented on OBS. Do such distributions even exist? If so, why don't enthusiasts of these arm64 distros take on the task of building native packages in a fresh environment (in OBS or distro building infrastructure), rather than with libraries that are many years old?

@TurboGit
Copy link
Member

TurboGit commented Mar 5, 2025

To me those changes are sounds and will provide a way to support multi-arch. Since it doesn't break anything, the added complexity is low I'm all for this.

@victoryforce
Copy link
Collaborator

the added complexity is low I'm all for this.

I agree and I'm not against it for this very reason: the added complexity is low. There's just one problem: this change by itself doesn't solve the inability to build a Windows package and there's no solution to this yet. It's just unclear why this "prelude" is needed now, if it's unknown when or if there will be a solution for Windows at all.

@kmilos kmilos force-pushed the kmilos/ci_multiarch branch from 38b7fc0 to 645f41a Compare March 5, 2025 17:26
@kmilos kmilos marked this pull request as ready for review March 5, 2025 17:27
@kmilos
Copy link
Contributor Author

kmilos commented Mar 5, 2025

The PR as-is doesn't affect the status quo and shouldn't change the current functionality in any way (will fix if it does) and just makes the script more modular/configurable.

it's unknown when or if there will be a solution for Windows at all

Public runners are rumored to be rolled out later this spring perhaps. As for NSIS, we'll have to find a solution one way or the other if we want to ship an installable WoA package for 5.2, 5.4, or some other point in the (near) future.

There is no urgency here, and I don't think I gave any such hint.

@TurboGit TurboGit added this to the 5.2 milestone Mar 6, 2025
Copy link
Member

@TurboGit TurboGit left a comment

Choose a reason for hiding this comment

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

Thanks!

@TurboGit TurboGit merged commit bc9bcca into darktable-org:master Mar 6, 2025
@kmilos kmilos deleted the kmilos/ci_multiarch branch March 6, 2025 06:47
@victoryforce
Copy link
Collaborator

As for NSIS, we'll have to find a solution one way or the other if we want to ship an installable WoA package for 5.2, 5.4, or some other point in the (near) future.

The only obstacle to doing this is that I don't see anyone among the current active contributors who would be willing to engage in this Windows adventure.

Maybe it's a little less foreign to me, after all I'm writing this on a Windows laptop (and even wrote a bit of Windows code for darktable). But I have neither the desire, nor the personal motivation, nor, most importantly, the energy to do it.

It might even be better that we don't ship the WoA installable package. It is, after all, a separate architecture and if we don't have someone who can support WoA users, it's better not to support it out of the box.

@kmilos
Copy link
Contributor Author

kmilos commented Mar 11, 2025

Fully agreed, an interested maintainer w/ such hardware is a must. I didn't expect Bill nor you to start messing w/ NSIS or exploring other installer solutions.

It might even be better that we don't ship the WoA installable package. It is, after all, a separate architecture and if we don't have someone who can support WoA users, it's better not to support it out of the box.

However, IF it were easy to do (i.e. native NSIS shows up, so it's just adding a job in the matrix), I don't see harm in providing nightly only packages as a way of attracting people to tinker, and hopefully someone steps up.

P.S. I feel the same about AppImage, but don't intend to insist on it - one could (I hope) just build nightly only on ubuntu-24.04-arm now and provide as is w/ its "limitations", just as a way of tapping into more testers and feedback for that architecture...

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.

3 participants