Wikimedia Apps/Team/iOS/Engineering Review/April 10 2015

From mediawiki.org

iOS 6[edit]

DROP IT LIKE ITS HAHT

Start of Sprint 55:

   * new feature work is done in a separate branch (experimental/prototype1, etc.)
Sprint 56 Release is the last "planned" iOS-6-compatible release; we *may* decide to do the final iOS 6 release on the first Tuesday of Sprint 56 instead of deferring to the first Tuesday of Sprint 57

GitHub[edit]

Dependency for implementing new branching strategy Going to email mobile-tech and talk to Tomasz. Show him Brian's GitHub fork w/ Travis & Coveralls

Branch strategies[edit]

Criteria[edit]

  • Keep master green
  • Account for things being kicked back from QA
  • We need to make sure new branching strategies work with CI

Strategies[edit]

  • Release branching when builds are cut
    • Cut release branches w/ release candidate builds
    • Regular development continues on master
    • Hot-fixes get merged into release branch

We need to figure out a branching strategy before we need to merge new feature work (end of Sprint 55) ^ Current plan is to merge into master

Crash Reporting in Xcode 6[edit]

Better than iTC on the web!

Testing Frameworks[edit]

BDD Frameworks:

describe(@"feature", ^{
  it(@"should do a thing", ^ {
      ...
  });
});

Resolution: Use OCMockito as mocking framework. Use Expecta/Nimble as main matching framework and keep Hamcrest in the project if needed to use as mock args. Need to experiment a bit more with Nimble.