Re: [RFC] Updating the CI image and bumping requirements

2021-05-02 Thread Jonas Hahnfeld via Discussions on LilyPond development
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

2021-02-03 Thread Jonas Hahnfeld
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

2021-01-27 Thread Jonas Hahnfeld
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

2021-01-27 Thread Andrew Bernard
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

2021-01-27 Thread 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.

Jonas


signature.asc
Description: This is a digitally signed message part


Re: [RFC] Updating the CI image and bumping requirements

2021-01-27 Thread 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.

> 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

2021-01-27 Thread 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. 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