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

Platform-releng/Migration To GitHub

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

Workflow

  • Which requirements do we have on the workflow? E.g. how should the history look like?
  • How do the current workflow and the GitHub workflow an compare?
  • How should the GitHub workflow be used?

Requirements

  • Each commit or merge to master is reviewed
  • Each commit (either by direct commit or merge) in master is reviewed separately
  • Master has a linear history (i.e. only fast forward merges)?

There are multiple Git workflows possible to implement the required behavior.

Gerrit Workflow

  • Create commit with Change-Id FooBar
  • Push to Gerrit
  • Review
  • Amend commit with Change-Id FooBar
  • Rebase commit on master HEAD
  • Merge commit with Change-ID FooBar to master

Possible GitHub workflow

  • Create a branch FooBar
  • Push commits to branch FooBar
  • Create a pull request to master
  • Review
  • Push more commits to branch FooBar
  • Merge master HEAD into FooBar
  • Squash and merge branch FooBar into master to create a single commit in master


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 proposal

  1. Get rid of the "signed-off by" requirement bug 558653
  2. Move repositories 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] ...

Changing build Process

  • We have build scripts available here. In theory if you trigger master-build.sh script you should get a eclipse, equinox and update site along with reports should get created in siteDir folder. But this is broken. This would be a good starting point to understand how the repos are cloned, tagged and how generation reports are done.

Other noteworthy items

Back to the top