tycho icon indicating copy to clipboard operation
tycho copied to clipboard

Add swt verification build

Open laeubi opened this issue 1 year ago • 16 comments

This will hopefully catch some issues earlier in the future.

FYI @HeikoKlare

laeubi avatar Sep 24 '24 06:09 laeubi

@HeikoKlare for some reason the SWT build succeeds here so do I need to enable something special?

laeubi avatar Sep 24 '24 08:09 laeubi

The build succeeds, but when looking at the logs it does not seem to do anything meaningful. It seem to fail at some early point of execution without making it the action fail, doesn't it? I cannot see any information about bundles being compiled. But I also cannot tell what's wrong with the actions specification so that the action is not executed properly.

Even if that was fixed, the build may succeed because it's only executed on Linux. For some reasons the GH actions Linux build for SWT currently succeeds. Only the MacOS builds are affected. As you guessed, this may be for reasons of ordering. So if we want to have that additional workflow fail for the current issue in SWT, we would probably have to make it a Matrix build also being executed on MacOS.

HeikoKlare avatar Sep 24 '24 09:09 HeikoKlare

The build succeeds, but when looking at the logs it does not seem to do anything meaningful.

I enabled the test and now something is borked, before it run without a problem :-\

Even if that was fixed, the build may succeed because it's only executed on Linux. For some reasons the GH actions Linux build for SWT currently succeeds. Only the MacOS builds are affected.

Good point, it seems I need to setup a matrix-build for this case.

laeubi avatar Sep 24 '24 09:09 laeubi

I am not familiar with the existing verification builds, but taking a look at logs of the existing ones, they do also not provide reasonable information about the Maven build / indicate a proper execution of the Maven build. Is this intended/expected or may there be some issue with these verification builds overall? For example, the Eclipse Platform Individual Bundles Build has similar logs. I took at look at, e.g., this build from some days ago: https://github.com/eclipse-tycho/tycho/actions/runs/10935901809/job/30358488371

HeikoKlare avatar Sep 24 '24 10:09 HeikoKlare

Is this intended/expected or may there be some issue with these verification builds overall?

Actually it should look like a usual maven build ... seems I need to take a look but can't spot anything obvious the log looks like the process just terminates somehow.

laeubi avatar Sep 24 '24 10:09 laeubi

At least the ibuild looks fine, except the usual failure due to the CBI plugin:

  • https://github.com/eclipse-tycho/tycho/actions/runs/11010139398/job/30571375964?pr=4295

laeubi avatar Sep 24 '24 10:09 laeubi

Test Results

  603 files  ±0    603 suites  ±0   4h 21m 20s ⏱️ + 3m 0s   430 tests ±0    423 ✅ ±0   7 💤 ±0  0 ❌ ±0  1 290 runs  ±0  1 268 ✅ ±0  22 💤 ±0  0 ❌ ±0 

Results for commit cbb93ee0. ± Comparison against base commit dfab8b74.

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

github-actions[bot] avatar Sep 24 '24 10:09 github-actions[bot]

If I see correctly, the first verification build (Verify Eclipse Platform Aggregator Build) seems to work fine, while the existing second (Verify Eclipse Platform Individual Bundles Build) and the one contributed in this PR do not run as expected. The only real difference I see is in the configuration of the toolchain and settings files for that build, though I am not sure whether them being missing may cause the issues: https://github.com/eclipse-tycho/tycho/blob/6c80860d853832a08fe2339dc042a0d38565b051/.github/workflows/verify-platform.yml#L66 https://github.com/eclipse-tycho/tycho/blob/6c80860d853832a08fe2339dc042a0d38565b051/.github/workflows/verify-platform.yml#L68

HeikoKlare avatar Sep 24 '24 22:09 HeikoKlare

At least the ibuild looks fine, except the usual failure due to the CBI plugin:

* https://github.com/eclipse-tycho/tycho/actions/runs/11010139398/job/30571375964?pr=4295

This one is fine now.

akurtakov avatar Sep 25 '24 05:09 akurtakov

I now added a matrix for the SWT test lets see what happens.

laeubi avatar Oct 07 '24 14:10 laeubi

Okay now windows can't evaluate the shell expression to find the Maven version

mvn -ntp --batch-mode -Pbuild-individual-bundles -Pbree-libs -DskipTests -Dtycho.version=$(mvn help:evaluate -f D:\a\tycho\tycho/tycho -Dexpression=project.version -q -DforceStdout) -T1C clean verify

anyone has an idea for a cross-platform solution?!?

laeubi avatar Oct 07 '24 15:10 laeubi

Are you expecting it to invoke powershell rather than sh.exe or bash.exe?

image

merks avatar Oct 08 '24 06:10 merks

Are you expecting it to invoke powershell rather than sh.exe or bash.exe?

Good point I tried to configure bash as a shell explicitly now.

laeubi avatar Oct 08 '24 07:10 laeubi

It is getting further but now path separators are messed up:

-Dtycho.version=$(mvn help:evaluate -f D:\a\tycho\tycho/tycho -Dexpression=project.version -q -DforceStdout)

laeubi avatar Oct 08 '24 07:10 laeubi

Interestingly the Windows build now works but the aggregator build shows the compile problem ...

laeubi avatar Oct 08 '24 08:10 laeubi

I'll backport this manually ... if the action runs I think we can use it anyways it is better than having no cros--platform checks even though we not see the exact problem now.

laeubi avatar Oct 09 '24 12:10 laeubi

@HeikoKlare I now see the SWT builds running with the Tycho snapshot, and even though they seem to succeed I would merge this or do see anything left here?

After that I'll backport this to tycho4.x branch

laeubi avatar Nov 04 '24 07:11 laeubi

I now see the SWT builds running with the Tycho snapshot, and even though they seem to succeed I would merge this or do see anything left here?

It looks good to me. It's interesting that the SWT compilation succeeds. I guess the behavior is non-deterministic: depending on the number of already completed compilations (the fragments are built in parallel), there may be multiple matching classes (i.e., with the same FQN) on the classpath. The compiler may just select any of them and in case it is the "correct" one, the compilation succeeds. But as said, that's just a guess.

HeikoKlare avatar Nov 04 '24 08:11 HeikoKlare