-
Notifications
You must be signed in to change notification settings - Fork 78
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
Build-eclipse-launcher not run since Feb 2023? #1407
Comments
@jonahgraham This is a manual process. Need to manually run those jobs. Here are the instructions on how to build https://wiki.eclipse.org/Building_Equinox_Launcher. This actually builds and commits to launcher binaries repo. Successfully running this will rebuild the launchers. Since the launcher was built quite sometime ago. You may want rebuild all platforms. Check all 4 options |
Thanks @sravanlakkimsetti. As it turns out this has come up before in eclipse-equinox/equinox#16 (comment) At a minimum I think this needs to be added to a release checklist to ensure that the binaries are up to date, ideally there should be an automatic check that at least errors if the launcher sources are newer than the binaries. For now, @MohananRahul can this step be added to the releng document and once we are done with M1 lets see if we (collectively) can get this updated. There is some work planned on the launcher for Eclipse IDE WG Funded Development Effort #24 and I want to help make sure that the processes are streamlined around that launcher. For reference @Torbjorn-Svensson added a GitHub action that auto-builds the launcher for PRs here eclipse-equinox/equinox#247 |
@jonahgraham @sravanlakkimsetti Does this job need to be done at every milestone? |
I'd say that it should be part of every milestone yes. |
Launcher is quite stable and not many changes come in that way. |
Could it be done via unit test case that would hard code last timestamp/commit and which would fail as soon as new version will be committed? |
unit test way is one of the options. I would prefer an automation similar to swt native builds. Launcher gets fixes once a year on an average. Need to weigh in on the effort and reward in this case. |
@laeubi I think helping here falls under the IDE WG funded dev effort for release engineering support. Can you consider it, or let me know what additional info you need? |
@jonahgraham I'm not sure from the discussion what ultimately should be the outcome here. Can't we just trigger the Job each time https://github.com/eclipse-equinox/equinox/tree/master/features/org.eclipse.equinox.executable.feature/library changes? Or is there any drawback / manual steps required? |
@laeubi I don't have a strong opinion. I think the minimum is a job somewhere that fails if the executables are out of date, with the maximum/ideal being that they are automatically rebuilt & committed as a side effect of the source changing.
I don't have any info beyond what is in https://wiki.eclipse.org/Building_Equinox_Launcher (as linked by @sravanlakkimsetti in #1407 (comment)) - I hope that if you take on this task you can identify if there are any currently undocumented or assumed steps that need resolving. |
@sravanlakkimsetti @jonahgraham I took a look at the buildjob and it seems quite complex, is not yet part of the repository and only special people are allowed to modify it. But maybe the following can help you to make the job running automatic instead of manually:
This then have the desired effect that whenever there is a source change the affected binaries are rebuild and pushed, for all other changes nothing happens. |
I used to trigger the job whenever there is change in the library. The issue is not closed till a new launcher build is committed. This is how I used to keep track and make sure launcher gets built every time there is a change.
It looks complicated. but actually quite simple. Described the steps here eclipse-equinox/equinox#318 (comment). I would rather go with increment and build all launchers whenever there is a change in library. That way this will be quite simple solution. Please go with that solution.
|
You mean trigger it manually? Because thats what obviously last time did not happens and seem to caused some confusion, therefore the idea to automate this "is there a change" step. |
No. I mean build automatically with increment, and build all launchers gtk, cocoa and win32. Don't worry about if individual os versions are not updated. |
Then one only needs to use
and somehow adjust the buildskript to do nothing unless |
yes thats correct. |
Agree. In SWT each commit that changed the natives gets a special and unique git tag applied and the Jenkins workflow checks if there was a change in the directories that contain the natives code since the last tag and then builds the natives again. We could even consider to also use git-lfs to store the natives logically in the same repo. |
This one is fixed, right? |
No interest makes me believe it has been fixed. |
That automation has just been implemented via eclipse-equinox/equinox#603. Once the new automated pipeline has proofed to work well I'll delete all manual and now obsolete launcher jobs. |
It looks like there is a build step that hasn't been run since Feb 2023:
https://ci.eclipse.org/releng/job/Build-eclipse-launcher/ was last run then, which means that changes since then haven't been added to the binaries.
This means the fix in eclipse-equinox/equinox#117 never got rolled out AFAICT.
@sravanlakkimsetti the last build (before fix to eclipse-equinox/equinox#117) was manually run by you - do you know who (or what automatic process) should be handling this?
The text was updated successfully, but these errors were encountered: