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

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.