[GTK4] Get tests running on GitHub actions
We've had GitHub actions for GTK4 for a while now, but we've never had a complete test run. There are numerous reasons I have already identified:
- [x] callback leaks (such as https://github.com/eclipse-platform/eclipse.platform.swt/pull/2703)
- [x] memory leaks (such as https://github.com/eclipse-platform/eclipse.platform.swt/pull/2704)
- [x] known failing tests obscure regressions
- [ ] missing dependencies (such as no webkit for GTK4)
- [ ] permission problems with new isolation around apparmour + webkit
- [ ] run tests on wayland (currently uses x11)
This is the umbrella bug for me to attach all the PRs I plan to do in this area to. I have started work on each of the areas in the above list in https://github.com/eclipse-platform/eclipse.platform.swt/pull/2690 while trying to fix https://github.com/eclipse-platform/eclipse.platform.swt/issues/2667 but decided that I needed to split this out to a separate task now. PRs incoming over the coming days on this topic.
My goal for this issue is that GTK4 tests are on for all PRs alongside GTK3 and other tests so that we can ensure other changes that are not explicitly GTK4 don't regress progress in GTK4.
I have https://github.com/eclipse-platform/eclipse.platform.swt/pull/2600 as a test for this. Feel free to use/rebase it for testing purposes.
Progress update, nearly there on goal of:
My goal for this issue is that GTK4 tests are on for all PRs alongside GTK3 and other tests so that we can ensure other changes that are not explicitly GTK4 don't regress progress in GTK4.
The original checklist items (completed ones checked in original comment now)
- callback leaks
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2703
- memory leaks
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2745
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2704
- related: https://github.com/eclipse-platform/eclipse.platform.swt/pull/2686
I ran some other work locally and have attempted to automate the testing of memory leak detection, but as of yet don't have it stable enough to be generally useful and sure that
known failing tests obscure regressions
We now use the new runtodotests label to turn on the tests that have not been diagnosed yet. This allows default test runs to ensure that GTK4 stability isn't going backwards.
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2765
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2757
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2770
In addition some test improvements made
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2759
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2761
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2760
- missing dependencies (such as no webkit for GTK4)
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2767
- permission problems with new isolation around apparmour + webkit
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2767
- run tests on wayland (currently uses x11)
- in progress, but still too unstable to roll out: https://github.com/eclipse-platform/eclipse.platform.swt/pull/2768
In addition, some bonus items that don't quite fit into above categories:
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2762
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2763 (https://github.com/eclipse-platform/eclipse.platform.swt/pull/2774)
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2764
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2758
- https://github.com/eclipse-platform/eclipse.platform.swt/pull/2769
With M3 today and about to enter RC weeks, I am putting this on hold until after the branch as to not disrupt people with possible random GTK4 changes affecting workflows and test results.