Re: [RFC] Updating the CI image and bumping requirements
Am Mittwoch, dem 27.01.2021 um 20:12 +0100 schrieb Jonas Hahnfeld: > Hi all, > > with 2.23.0 out, I'd like to update the CI image. The current one is > based on Ubuntu 16.04 which will be EOL in April, a bit more than 2 > months from now. I think there are two logical replacements: > * Ubuntu 18.04, maintained until 2023-04 > * Debian 9 Stretch, maintained until 2022-06 > > Neither of them has Guile 1.8 packaged, so that'll have to be compiled > when building the image anyway, but I'd like to go with Ubuntu 18.04 > because it has Guile 2.2. With April passed, Ubuntu 16.04 has now reached its end-of-life and I'd really like to replace it for CI testing. I've prepared the minimum changes in https://gitlab.com/lilypond/lilypond/-/merge_requests/752 , without changing to Guile 2.2 (wasn't planned for this step anyway as later on clarified in this thread) and without raising the minimum version of Python. Jonas signature.asc Description: This is a digitally signed message part
Re: [RFC] Updating the CI image and bumping requirements
Am Mittwoch, dem 27.01.2021 um 22:01 +0100 schrieb Jonas Hahnfeld: > Am Mittwoch, dem 27.01.2021 um 21:56 +0100 schrieb Han-Wen Nienhuys: > > On Wed, Jan 27, 2021 at 8:12 PM Jonas Hahnfeld wrote: > > > with 2.23.0 out, I'd like to update the CI image. The current one is > > > based on Ubuntu 16.04 which will be EOL in April, a bit more than 2 > > > months from now. I think there are two logical replacements: > > > * Ubuntu 18.04, maintained until 2023-04 > > > * Debian 9 Stretch, maintained until 2022-06 > > > > > > Neither of them has Guile 1.8 packaged, so that'll have to be compiled > > > when building the image anyway, but I'd like to go with Ubuntu 18.04 > > > because it has Guile 2.2. In contrast, Debian 9 Stretch only comes with > > > guile-2.0 and I was surprised to find that LilyPond master doesn't even > > > compile with 2.0 at the moment [1]. > > > However, there's another consideration: Ubuntu 18.04 comes with Python > > > 3.6 and support for Python 3.5 (the current minimum & in Ubuntu 16.04) > > > is likely to break without proper testing. For that reason, I think we > > > should bump the requirement accordingly. The downside is that doing so > > > would effectively drop support for Debian 9 Stretch with Python 3.5. I > > > think that's ok given that Debian 10 Buster is the current version, but > > > wanted to check if that's a problem for anybody? > > > [If we agree on Ubuntu 18.04 as a kind of "minimum distribution", it > > > might make sense to bump some other requirements (such as Pango to get > > > rid of some compatibility code), but this can be done in due time.] > > > > What is the downside of sticking with current 16.04? Unless we make a > > conscious decision to drop support for GUILE 1.8, there is not much > > upside to moving to the newer versions. Dropping support for 1.8 has > > the potential to simplify a lot of GC related code, but IIRC, it's > > still a bit slower. > > Sorry if this wasn't clear: This is not meant to update any of Guile. > The image with Ubuntu 18.04 will continue to build with version 1.8 for > the time being, but it gives us the possibility of making progress with > Guile 2.2 without having to switch distributions. The advantage is that > it decouples these two steps. To elaborate a bit: Using a distribution that has both Guile 1.8 (self- compiled) and 2.2 (from the packages) would allow us to start testing with Guile 2.2. I didn't mention this initially because it's not clear if we want to do so in all pipelines, slowing down the rate at which changes can be merged to master. Maybe optional builds with Guile 2.2 or some form of "nightly" pipeline could be a first step? Jonas signature.asc Description: This is a digitally signed message part
Re: [RFC] Updating the CI image and bumping requirements
Am Donnerstag, dem 28.01.2021 um 11:18 +1100 schrieb Andrew Bernard: > What would be wrong with Ubuntu 20.04 LTS, newer than 18 and EOL in 2025? Ubuntu 20.04 comes with Python 3.8, so we'd loose coverage for all of Python 3.5, 3.6, and 3.7. In my experience, the jump from 3.6 to 3.7 is especially worrying because they changed some encoding defaults that call for trouble on older versions when testing only with Python 3.8 (I ran into this when I ported LilyPond to Python 3). So I foresee many reports of broken scripts when we keep the minimum requirement at Python 3.5 without testing. Or we bump it all the way to 3.8, which cuts support for many distributions in use... The same argument applies to most other distributions, including Debian 10 and more short-lived ones like Fedora where the oldest supported version (Fedora 32) ships with Python 3.8 as well. Jonas signature.asc Description: This is a digitally signed message part
Re: [RFC] Updating the CI image and bumping requirements
What would be wrong with Ubuntu 20.04 LTS, newer than 18 and EOL in 2025? Andrew
Re: [RFC] Updating the CI image and bumping requirements
Am Mittwoch, dem 27.01.2021 um 21:56 +0100 schrieb Han-Wen Nienhuys: > On Wed, Jan 27, 2021 at 8:12 PM Jonas Hahnfeld wrote: > > with 2.23.0 out, I'd like to update the CI image. The current one is > > based on Ubuntu 16.04 which will be EOL in April, a bit more than 2 > > months from now. I think there are two logical replacements: > > * Ubuntu 18.04, maintained until 2023-04 > > * Debian 9 Stretch, maintained until 2022-06 > > > > Neither of them has Guile 1.8 packaged, so that'll have to be compiled > > when building the image anyway, but I'd like to go with Ubuntu 18.04 > > because it has Guile 2.2. In contrast, Debian 9 Stretch only comes with > > guile-2.0 and I was surprised to find that LilyPond master doesn't even > > compile with 2.0 at the moment [1]. > > However, there's another consideration: Ubuntu 18.04 comes with Python > > 3.6 and support for Python 3.5 (the current minimum & in Ubuntu 16.04) > > is likely to break without proper testing. For that reason, I think we > > should bump the requirement accordingly. The downside is that doing so > > would effectively drop support for Debian 9 Stretch with Python 3.5. I > > think that's ok given that Debian 10 Buster is the current version, but > > wanted to check if that's a problem for anybody? > > [If we agree on Ubuntu 18.04 as a kind of "minimum distribution", it > > might make sense to bump some other requirements (such as Pango to get > > rid of some compatibility code), but this can be done in due time.] > > What is the downside of sticking with current 16.04? Unless we make a > conscious decision to drop support for GUILE 1.8, there is not much > upside to moving to the newer versions. Dropping support for 1.8 has > the potential to simplify a lot of GC related code, but IIRC, it's > still a bit slower. Sorry if this wasn't clear: This is not meant to update any of Guile. The image with Ubuntu 18.04 will continue to build with version 1.8 for the time being, but it gives us the possibility of making progress with Guile 2.2 without having to switch distributions. The advantage is that it decouples these two steps. Jonas signature.asc Description: This is a digitally signed message part
Re: [RFC] Updating the CI image and bumping requirements
On Wed, Jan 27, 2021 at 8:12 PM Jonas Hahnfeld wrote: > with 2.23.0 out, I'd like to update the CI image. The current one is > based on Ubuntu 16.04 which will be EOL in April, a bit more than 2 > months from now. I think there are two logical replacements: > * Ubuntu 18.04, maintained until 2023-04 > * Debian 9 Stretch, maintained until 2022-06 > > Neither of them has Guile 1.8 packaged, so that'll have to be compiled > when building the image anyway, but I'd like to go with Ubuntu 18.04 > because it has Guile 2.2. In contrast, Debian 9 Stretch only comes with > guile-2.0 and I was surprised to find that LilyPond master doesn't even > compile with 2.0 at the moment [1]. > However, there's another consideration: Ubuntu 18.04 comes with Python > 3.6 and support for Python 3.5 (the current minimum & in Ubuntu 16.04) > is likely to break without proper testing. For that reason, I think we > should bump the requirement accordingly. The downside is that doing so > would effectively drop support for Debian 9 Stretch with Python 3.5. I > think that's ok given that Debian 10 Buster is the current version, but > wanted to check if that's a problem for anybody? > [If we agree on Ubuntu 18.04 as a kind of "minimum distribution", it > might make sense to bump some other requirements (such as Pango to get > rid of some compatibility code), but this can be done in due time.] What is the downside of sticking with current 16.04? Unless we make a conscious decision to drop support for GUILE 1.8, there is not much upside to moving to the newer versions. Dropping support for 1.8 has the potential to simplify a lot of GC related code, but IIRC, it's still a bit slower. > Cheers > Jonas > > > 1: Overlay_string_port relies on scm_c_make_port_with_encoding which > doesn't exist in Guile 2.0. I haven't looked if there's a replacement, > but I find it unlikely and think the time would be better spent on a > working version with Guile 2.2. -- Han-Wen Nienhuys - hanw...@gmail.com - http://www.xs4all.nl/~hanwen
[RFC] Updating the CI image and bumping requirements
Hi all, with 2.23.0 out, I'd like to update the CI image. The current one is based on Ubuntu 16.04 which will be EOL in April, a bit more than 2 months from now. I think there are two logical replacements: * Ubuntu 18.04, maintained until 2023-04 * Debian 9 Stretch, maintained until 2022-06 Neither of them has Guile 1.8 packaged, so that'll have to be compiled when building the image anyway, but I'd like to go with Ubuntu 18.04 because it has Guile 2.2. In contrast, Debian 9 Stretch only comes with guile-2.0 and I was surprised to find that LilyPond master doesn't even compile with 2.0 at the moment [1]. However, there's another consideration: Ubuntu 18.04 comes with Python 3.6 and support for Python 3.5 (the current minimum & in Ubuntu 16.04) is likely to break without proper testing. For that reason, I think we should bump the requirement accordingly. The downside is that doing so would effectively drop support for Debian 9 Stretch with Python 3.5. I think that's ok given that Debian 10 Buster is the current version, but wanted to check if that's a problem for anybody? [If we agree on Ubuntu 18.04 as a kind of "minimum distribution", it might make sense to bump some other requirements (such as Pango to get rid of some compatibility code), but this can be done in due time.] Cheers Jonas 1: Overlay_string_port relies on scm_c_make_port_with_encoding which doesn't exist in Guile 2.0. I haven't looked if there's a replacement, but I find it unlikely and think the time would be better spent on a working version with Guile 2.2. signature.asc Description: This is a digitally signed message part