Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use centos-9 to build the swt natives #1426

Closed
wants to merge 1 commit into from

Conversation

laeubi
Copy link
Contributor

@laeubi laeubi commented Aug 28, 2024

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.

Copy link
Contributor

github-actions bot commented Aug 28, 2024

Test Results

   486 files  ±0     486 suites  ±0   7m 21s ⏱️ +9s
 4 151 tests ±0   4 143 ✅ ±0   8 💤 ±0  0 ❌ ±0 
16 358 runs  ±0  16 266 ✅ ±0  92 💤 ±0  0 ❌ ±0 

Results for commit e4cd337. ± Comparison against base commit d200d94.

♻️ This comment has been updated with latest results.

@laeubi
Copy link
Contributor Author

laeubi commented Aug 28, 2024

All native builds are green

grafik

@merks
Copy link
Contributor

merks commented Aug 28, 2024

Very good. 👍 thanks 🙏

Copy link
Member

@HannesWell HannesWell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To give some back-ground why it was at 8: It just was there when I migrated the many manually maintained single Jenkins Jobs into this single pipeline.
So I think updating is good.

The same should probably be done in Equinox:
https://github.com/eclipse-equinox/equinox/blob/4526f764f444a6217fb614835452cb8a3956f12d/Jenkinsfile#L25

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.
@laeubi
Copy link
Contributor Author

laeubi commented Sep 9, 2024

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.

@akurtakov
Copy link
Member

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?

@laeubi
Copy link
Contributor Author

laeubi commented Sep 9, 2024

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.

@fredg02
Copy link
Contributor

fredg02 commented Sep 9, 2024

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.

@laeubi
Copy link
Contributor Author

laeubi commented Sep 9, 2024

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.

@akurtakov
Copy link
Member

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.

@laeubi
Copy link
Contributor Author

laeubi commented Sep 9, 2024

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
Copy link
Contributor Author

laeubi commented Oct 9, 2024

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:

to establish a new stable baseline for GTK4

@laeubi laeubi closed this Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants