LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
7.8k stars 986 forks source link

Drop 32 bit support from CI. #7286

Open Rossmaxx opened 1 month ago

Rossmaxx commented 1 month ago

Moving this here from #6614 to keep the discussion seperate.

Original discussion here : https://github.com/LMMS/lmms/issues/6614#issuecomment-2122862110

TLDR: Me and @tresf were arguing about removing first class 32 bit support and looks like removing 32 bit support is not really an issue as it's obsolete tech which has started to weigh down the already constrained dev resources.

Rossmaxx commented 1 month ago

Would be helpful if @DomClark and @PhysSong drop their tidbits here.

DomClark commented 1 month ago

What dev resources is it weighing down? If this is specific to the Qt 6 migration, then we simply only add 64-bit Qt 6 jobs. I'm not sure that we gain anything by removing the existing 32-bit Qt 5 jobs.

Rossmaxx commented 1 month ago

This argument seems legit too. We'll keep Qt6 64 bit only and use Qt5 for both 32 and 64 bit builds.

FyiurAmron commented 1 month ago

@DomClark

I'm not sure that we gain anything by removing the existing 32-bit Qt 5 jobs

It has been said, but I'll reiterate: it's basically only about having 64-bit Linux doing a MinGW 32-bit Windows build (and MSVC x86, if you count the pipelines for the dev branch). Nothing else would be dropped AFAIU/K.

What dev resources is it weighing down?

Time and effort of anyone wanting to maintain and/or update the CI pipelines or numerous dependencies we don't have up-to-date ATM, for one. LMMS is terribly outdated in many areas right now, and reducing the tech debt would require going through that one way or another. It's been 4 years since last stable release. The roadmap for 1.3.0 is yet still far from being finished IMVHO.

I'm biased on this one, because in my day job (corporate setting) a lot of my effort goes into maintenance of things that nobody really needs. 32-bit Windows builds of a normal software app are exactly this in my book. 64-bit Windows are available since Windows XP in 2003. We're talking about more than 20 years ago. Vendors which didn't stop 32-bit support are doing so right now. Ubuntu stopped AFAIR at 18.04. for Windows it's planned in 2025 I believe. Same with drivers and everything else. Of course, you will be still able to run 32-bit apps (with ~3GiB physical RAM available, enough for 2 or 3 feature-rich VSTis chuckle)... but why should we additionally build 32-bit apps for 64-bit systems? I see no point.

Like I said, I've already seen build problems for 32-bit MinGW when trying to update. That's the only 32-bit platform that is currently supported as first-class citizen on LMMS (i.e. is supported and was supported by at least one stable version). It's also, arguably, the least used.

If this is specific to the Qt 6 migration, then we simply only add 64-bit Qt 6 jobs.

It's not specific to Qt 6 migration, it's related to it though. However, as a side note, I'd say that having both Qt 5 and Qt 6 in parallel OTOH seems like a great way to make future UI work exceedingly tedious, in all respects (bugfixing, adding new features, you name it).

My final 5c on this: many a good OSS project died due to either feature creep or scope bloat. I honestly hope LMMS won't be one of them, because I really like many things about it, and having to maintain yet-another-fork is something I vehemently disdain.

tresf commented 1 month ago

What dev resources is it weighing down? If this is specific to the Qt 6 migration, then we simply only add 64-bit Qt 6 jobs. I'm not sure that we gain anything by removing the existing 32-bit Qt 5 jobs.

I agree, it's not weighing us down; I think @Rossmaxx took some generous liberties of inference from this https://github.com/LMMS/lmms/issues/6614#issuecomment-2122862110 or perhaps this https://github.com/LMMS/lmms/issues/6614#issuecomment-2134046332.

That said, I do think 32-bit support should be removed from the downloads area moving forward. I do not believe 32-bit builds have a reasonable purpose there. And over time, I believe ARM64 downloads will be more helpful to users.