- Create a new Apache Git repo (our champion i.e Olivier should be able to help with that since he has necessary permissions). This will come with a Apache Git repo's Github mirror.
- Open an INFRA JIRA ticket to start the migration (as described in next step).
- Transfer ownership of the linkedin/gobblin repository to an Apache INFRA person. See this page for details on what gets kept and lost. The Apache INFRA will seed the Apache Git repo with linkedin/gobblin repository content and re-designate the linkedin/gobblin repository as Apache Git repo mirror.
- Update documentation.
Apache Git Repo Github mirror: https://github.com/apache/incubator-gobblin
- Open an INFRA JIRA ticket to request a new git repo for site content.
- Make prerequisite changes to current content. (Refer to Olivier's comment on GOBBLIN-2 )
- Publish content on new git repo to populate the website. (Move documentation from ReadTheDocs to the website. )
- Post notification to Google groups pointing to new mailing lists.
- Lock down Google groups.
- As part of Incubation, Olivier (champion) has already requested and got mailing lists (dev, users, commits, private) provisioned for us.
- Open an INFRA JIRA ticket to request for new JIRA instance.
- Close all possible redundant issues on Github.
- Write a script to read from Github API and create corresponding open issues on Apache JIRA with all relevant history and comments.
- Close out migrated issues and mark them with a Github label.
- Issues will be disabled on Github when the Github repository transfers under Apache organization.
JIRA instance: https://issues.apache.org/jira/browse/GOBBLIN
- Update PR instructions to put JIRA issue numbers in PR titles.
- Add Github label to identify PRs without JIRA issues in title.
- Ensure that tooling in Jenkins is enabled for auto-closing issues based on PR title.
- Open an INFRA JIRA ticket to create a wiki space.
- Create relevant wiki pages.
- Define how content is distributed between wiki and the website going forward.
Wiki Space: Home
In Progress Futuristic
Note: Changed to 'Futuristic' because Travis has improved under Apache. So, we can take time to move to Jenkins.
- Open an INFRA JIRA ticket to setup and enable Jenkins for code base.
- Explore setting up pre-commit hook such as Yetis.
- Configure Gobblin on Jenkins instance.
Related wiki: Gobblin Package Rename Implications
- Rename packages and schema namespaces from gobblin and com.linkedin.gobblin to org.apache.gobblin
The entities to take care of:
- Java packages
- Avro schema and namespaces
- RESTLi schema and namespaces
- META-INF services
- SQL references
- Alias Resolution
- Pull and config files
- Config store hierarchy
- Default config references
- Fully qualified names
- Hardcoded class and package names
- Powermock / mockito change in exclusion / inclusion params
- Build changes to operate on different package structure
- Typed references / imports / extension of classes and implementation of interfaces
- Shell / launcher scripts
- Documentation / Javadocs
- The existing configuration will continue to remain the same so that no migration is required for it.
- The class names will have new packages, so users will have to rename them in configs; and custom implementations will have to be updated.
- The state-store will be unreadable with new changes, so we would need a shim for that.
- Two versions must be maintained (previous major version v0.x for gobblin / com.linkedin.gobblin namespace and v1.x for org.apache.gobblin)
Email to send out on Google Groups announcing the migration
As part of the Gobblin project's recent move to Apache, we are migrating the mailing lists to Apache infrastructure as well, so that the existing Google groups will become read-only at some point in the near future.To keep receiving updates about Gobblin or to participate in development discussions, please subscribe to the following lists:firstname.lastname@example.org -- for usage questions, help and announcements. [Subscribe] [Archives]email@example.com -- for people who want to contribute code to Gobblin. [Subscribe] [Archives]firstname.lastname@example.org -- for people who want to contribute code to Gobblin. [Subscribe] [Archives]Additionally, the Gobblin Gitter chat rooms: [Gobblin Lobby] [Gobblin Cluster] is where many Gobblin developers and users hang out to answer questions and chat.The other infrastructure and process changes with Apache migration are:1) Migration of linkedin/gobblin code base to Apache's Git repository. [In Progress]2) Migration of Google groups mailing list (this list) to Apache mailing lists. [In Progress]3) Migration of Travis CI to use the Apache infrastructure. [Scheduled]4) Migration of Wiki to Apache Confluence wiki. [Scheduled]5) Migration of Github Issues to Apache JIRA. [Done]6) Migration of all existing pull requests to the Apache Github mirror repository. [Scheduled]We will track the progress of the above items on Gobblin's Apache mailing lists.What you should do:* Sign up for the Apache user, dev and commits mailing list (as described above)* Sign up for an Apache JIRA account and open any issues that you care about in Apache Gobblin JIRA project (https://issues.apache.org/jira/browse/GOBBLIN)* Sign up for an Apache Confluence account (https://cwiki.apache.org/confluence/display/GOBBLIN)* Stop creating GitHub issues immediately. Create new problem reports as JIRAs now.
Can we merge pull requests via the magical green button in GitHub?
Not currently. The way GitHub mirroring is setup, the repository is read-only, so no merge button appears in the GitHub UI. This means that committers will have to manually pull PRs locally, merge them into Apache master, push them back to Apache's git repository, and close the pull request.
There is an experimental project in Apache to enable bi-directional mirroring, so the merge button will work, but it's currently private. We can apply to get access, but I don't think that we should count on this in the short term. Application requires discussing on our private@ list, then having the project char contact the board as well as the infra team.
Will existing pull requests and issues continue to exist after the repository is transferred?
Yes. We'll have to link them to JIRA tickets by adding a JIRA ticket ID to their title, though.
Can we use GitHub issues?
How will pull requests work?
See this page for a description. Basically, the same as normal, except that the PR must have a JIRA number in the title, and there will be no green merge button in GitHub (see above).