[Announcement] We're migrating to Github!

Product Infra team has decided to migrate frontend repos (web, iOS, Android, RN) to Github.

The main reason is to enable a reliable testing pipeline.

We observed that our self-hosted Phabricator instances are sometimes not reliable– which often times cause false negatives and failing build jobs. Without a reliable pipeline, it's wasting our time when the report is in fact a false positive, and it's wasting QA's time when a build fails because our Phabricator is acting up.

There are also many other reasons, such as out-of-the-box integration support, and better, wider selection of available integrations which would hopefully improve our overall development experience and app quality.

The web-infra team has been working hard this past few weeks to map our current workflow to Github, and make the migration experience as seamless as possible.

FYI, here are some important things you should know:

Web will migrate first.

The tentative schedule for web repo migration is within next week (18 - 22 December). We'll try to observe Web's migration process first, and see what problems might appear.

For iOS, the plan is to complete migration by 4 April 2018.

We don't have to migrate all at once, because the SSH keys can be synchronized between Phabricator, build system, and Github. For reference, here's the timeline for iOS migration: https://app.teamweek.com/#timeline/256751/groups/207311?zoom=month

We're compiling a document to address your concerns.

The document will be in a Q&A format, so please feel free to raise concerns to the document. We can additionally schedule a separate session to talk about concerns specific to your mission team. Add your questions here: https://docs.google.com/a/traveloka.com/spreadsheets/d/1V30xXz4oqY6X2BR34PX9RW0O0IWB_h0CYJMMrUGsVXk/edit?usp=sharing

We also have an additional document that compares Github and Phabricator: https://docs.google.com/document/d/156KtgU_NK_U-1HJb7wyv6rv1Ke8WjFo7OIViF5R8CGY/edit#heading=h.ten8ix6888f2

There will be a tutorial session for the new workflow.

We will be moving away from Phabricator, but we will NOT be using Github's workflow– that means we won't be dealing with pull requests and forks. The tutorial session's content will cover how our current process looks like in Github workflow (e.g. code review, feature branching), and maybe other additional topics you suggested.

Reading References

Meanwhile, we found some great reading materials and interactive tutorials for you to get you up to speed: