Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Platform-releng/Migration To GitHub"

(Build Process)
(Build Process)
Line 37: Line 37:
 
== Build Process ==
 
== Build Process ==
 
* Only build the bundle that was changed and not build the whole IDE
 
* Only build the bundle that was changed and not build the whole IDE
 +
[Sravan] Excellent idea. this also eliminates use of comparator. Here are the steps we are doing now.
 +
# Calculate qualifier based on last commit timestamp in UTC(in Eastern time for features)
 +
# Build the bundle with the usual process.
 +
# Check if we have this particular bundle with same version along with qualifier in the existing comparator repository(called baseline. Do not get confused here there are multiple baselines used across releng. lets call this as comparator baseline)
 +
# If not that is the end of building the bundle.
 +
# If exists, dissemble all the class files in the newly built bundle and from the comparator baseline.
 +
# Compare the all the files(including disassembled class files) in the bundle ignoring signing changes.
 +
# If changes are found throw comparator error
 +
# Replace newly built bundle with the bundle from comparator baseline. Note this happens always even when we don't have any comparator errors.
 +
 +
Here are some bugs recently I handled in this area
 +
{{bug|571840}}
 +
 +
Another thing to note here is when we change compiler, there will be changes to generated class files. How can we report these issues?
  
 
== Other noteworthy items ==
 
== Other noteworthy items ==

Revision as of 01:24, 11 March 2021

This page is meant to capture ideas, concerns, evaluations, experimentations... that can help the Platform project in moving to GitHub.

Goal

Attract more contributors by using a more known workflow on a popular Platform

Concerns

Moving to GitHub is an opportunity but also has drawbacks:

  • GitHub code review is not perceived by some committers as good as Gerrit
  • GitHub issue tracker is not perceived by some committers as usable at the scale of Platform project (lack of depends on/blocks/clone relations, difficulty to list attachements, linked patches...)
  • The process for contributing to Eclipse project via GitHub is currently cumbersome and not productive enough for new contributors (Signed-Off-By requirement cause a lot of noisy descripton and some contributions are abandoned)
  • ... [Please add more missing items] ...

Plan

  1. Get rid of the "signed-off by" requirement
  2. Move the main repo to GitHub
  3. Allow contributions through issues and PR's
  4. Tie PR's to Gerrit Changes and Issues to Bugzilla's

What needs to be done?

Generally

  • Build scripts need to be able to manipulate (add tag to) GitHub repositories
  • ... [Please add more missing items] ...

For each repository

  • Some GitHub actions and/or Jenkinsfile need to be added to trigger CI builds
  • The aggregator repository needs to change its submodule reference
  • The build scripts need to add tags to the GitHub repo
  • PMI info needs to be changed
  • ... [Please add more missing items] ...

Build Process

  • Only build the bundle that was changed and not build the whole IDE

[Sravan] Excellent idea. this also eliminates use of comparator. Here are the steps we are doing now.

  1. Calculate qualifier based on last commit timestamp in UTC(in Eastern time for features)
  2. Build the bundle with the usual process.
  3. Check if we have this particular bundle with same version along with qualifier in the existing comparator repository(called baseline. Do not get confused here there are multiple baselines used across releng. lets call this as comparator baseline)
  4. If not that is the end of building the bundle.
  5. If exists, dissemble all the class files in the newly built bundle and from the comparator baseline.
  6. Compare the all the files(including disassembled class files) in the bundle ignoring signing changes.
  7. If changes are found throw comparator error
  8. Replace newly built bundle with the bundle from comparator baseline. Note this happens always even when we don't have any comparator errors.

Here are some bugs recently I handled in this area bug 571840

Another thing to note here is when we change compiler, there will be changes to generated class files. How can we report these issues?

Other noteworthy items

Back to the top