lmms icon indicating copy to clipboard operation
lmms copied to clipboard

Update Linux CI to Ubuntu 20.04

Open messmerd opened this issue 2 years ago • 2 comments

This PR updates the Linux CI builds to use Ubuntu 20.04 (focal) instead of Ubuntu 18.04 (bionic).

A few changes were needed for a successful build:

  • Created an Ubuntu 20.04 Docker image ghcr.io/lmms/linux.gcc:20.04
    • Linux packages have migrated from Docker Hub to https://github.com/orgs/lmms/packages
    • Built using the Dockerfiles from https://github.com/LMMS/lmms-ci-docker/pull/15
  • Updated the veal submodule to the latest commit on the default ladspa branch
    • Fixed an error when catching a polymorphic type with GCC 9. See: https://github.com/LMMS/veal/commit/0ae9287dd75a86bbcdce7d1692f0687ef03720e2
  • Added GCC flag -Wno-format-truncation for ZynAddSubFx build.
  • Added GCC flag -Wno-format-overflow for calf/veal build.

Benefits:

  • Updates GCC from 7.4 to 9.3, which enables support for std::filesystem in all LMMS CI build runners except for MinGW, taking us one step closer to permitting its use in LMMS code. Once MSVC builds fully replace MinGW, or if the MinGW builds are updated to Ubuntu 20.04, std::filesystem will be usable.
  • Updates Qt from 5.9.5 to 5.12.8.
  • Can now use short-style LV2 header paths in #6990
  • ...

Closes #6993

messmerd avatar Dec 06 '23 03:12 messmerd

we should really be using the latest LTS, it would fix some library specific bugs like fluidsynth crashing when loading large soundfonts which was fixed in fluidsynth 2.2.2, we'd be stuck on 2.1.1 in ubuntu 20.04

we should really be using the latest LTS

Unfortunately, that will prevent creating AppImages which works on the oldest supported version of LTS. Running on the oldest supported LTS also ensures that LMMS is not broken on such distribution versions.

it would fix some library specific bugs

Good point. There is a discussion(stale?): #6195

PhysSong avatar Dec 25 '23 07:12 PhysSong

Veal submodule was recently update on master; a rebase should remove it from this PR; limit scope.

tresf avatar May 08 '24 05:05 tresf

LGTM, subject to approval of LMMS/lmms-ci-docker#15.

Agreed. Despite the huge number of commits, this is a very simple PR. Merging.

tresf avatar May 08 '24 17:05 tresf