eclipse.platform.swt icon indicating copy to clipboard operation
eclipse.platform.swt copied to clipboard

Use centos-9 to build the swt natives

Open laeubi opened this issue 1 year ago • 10 comments

Centos-8 is out of service and the container even does not build anymore therefore we can't get any updates.

This changes the build to use Centos 9 for building instead.

FYI @akurtakov @fredg02 @sravanlakkimsetti

I'll cancel the first build and trigger one with forced binary compilation so we can see everything works fine, this should then be merged as soon as the master is open for next release so we can get enough time to test. This will also be a prerequisite for GTK4+ support.

laeubi avatar Aug 28 '24 18:08 laeubi

Test Results

   486 files  ±0     486 suites  ±0   7m 21s :stopwatch: +9s  4 151 tests ±0   4 143 :white_check_mark: ±0   8 :zzz: ±0  0 :x: ±0  16 358 runs  ±0  16 266 :white_check_mark: ±0  92 :zzz: ±0  0 :x: ±0 

Results for commit e4cd3377. ± Comparison against base commit d200d94e.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Aug 28 '24 18:08 github-actions[bot]

All native builds are green

grafik

laeubi avatar Aug 28 '24 18:08 laeubi

Very good. 👍 thanks 🙏

merks avatar Aug 28 '24 18:08 merks

It seems EF plans to drop centos completely and instead offering ubuntu-lts as default runners:

https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/1623

I therefore wonder if we should do the same for the native builds instead of aim for centos-9 ... what would be Ubuntu 20.04.6 LTS as far as I can see.

laeubi avatar Sep 09 '24 08:09 laeubi

My only concern with such plan is that Ubuntu used to patch gtk heavily thus compiling on it is a bit more risky to introduce binary incompatibilities. Can we already start switching jenkins verification builds to ubuntu-lts so we can move on with this one?

akurtakov avatar Sep 09 '24 08:09 akurtakov

Another option would be using debian what is quite stable and the base for ubuntu under the hood.

The github actions already use (and compile) for "ubuntu-latest" what is https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md at the moment.

laeubi avatar Sep 09 '24 08:09 laeubi

It seems EF plans to drop centos completely and instead offering ubuntu-lts as default runners:

https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/1623

I therefore wonder if we should do the same for the native builds instead of aim for centos-9 ... what would be Ubuntu 20.04.6 LTS as far as I can see.

FTR: You are free to make this decision independently of what we offer as default runners, since you can create and define custom docker images for your builds and tests.

fredg02 avatar Sep 09 '24 08:09 fredg02

Yes but basically many projects depend on SWT so if we require to use a (non standard) template this will impact many projects CI setups. So if we can just tell them to switch to a new (default) runner label that seems easy enough.

laeubi avatar Sep 09 '24 08:09 laeubi

Another option would be using debian what is quite stable and the base for ubuntu under the hood.

Let's concentrate on the GTK 4 enablement. We have centos 9 already (even this PR) and it serves the purpose of providing initial builds. The problem is what to do with jenkins verification builds which are at centos 8 too. IMO we should be switching them to ubuntu-latest image (if available). As a next step going to Debian is probably good idea but I would rather have it later so a 100-steps task doesn't become 150-steps task now.

akurtakov avatar Sep 09 '24 08:09 akurtakov

We have centos 9 already (even this PR) and it serves the purpose of providing initial builds.

The problem is that centos-9 kicks out a large range of distributions due to higher GLIBC version, so for me the first step looks like to upgrade our infra from centos-8 > whateverisnextminimum (and this is what this PR is actually aiming at).

The we can already use this (independent form GTK4) and then look what is required from whateverisnextminimum > GTK4, this will also decrease the diff between master + GTK4 branch.

laeubi avatar Sep 09 '24 08:09 laeubi

I'll close this for now even though it proves we can switch it probably raises the barriers too much and as centos-9 is using rolling release we have not enough control over the impact to the overall community.

I therefore continuing first here:

  • https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/pull/2441

to establish a new stable baseline for GTK4

laeubi avatar Oct 09 '24 06:10 laeubi