-
Notifications
You must be signed in to change notification settings - Fork 565
iOS lib release checklist
-
Evaluate all pull requests (internal or external) and figure out which ones can piggyback on your release. Releases shouldn't be HUGE, but they also have a cost and should bundle new code efficiently.
-
Make sure iOS6 SDK is installed (linked under /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/)
- Find it on the internet, or ask Alex Hofsteede or Kyle Warren.
-
Make sure your branch is up to date with master.
-
Run HelloMixpanelTests in a combination of these scenarios.
- Base SDKs: 6, 7, 8
- Deployment Targets: 6, 7, 8
- Simulators: iPhone 3.5inch, iPhone 4inch, iPhone6, iPhone 6+, iPad
- Devices: iPhone4S, iPhone5, iPhone6, iPhone 5S
- Simulator OS: 6, 7, 8
-
As well as unit tests, do a basic sanity test on a phone where you look at the output log and make sure events are getting queued/flushed, check backgrounding / killing the app, make sure events and properties don't get lost.
-
Once you are satisfied the code is good, merge into master.
-
Update the #define VERSION in Mixpanel.m, and change the version number in Mixpanel.podspec
-
Use the following commands in the mixpanel-ios directory to update the header documentation, and commit the result in both
mixpanel-iphone
andanalytics
repos#!/bin/bash headerdoc2html -q -o ./Docs ./Mixpanel/Mixpanel.h mv ./Docs/Mixpanel_h ./Docs/HeaderDoc cp -r ./Docs/HeaderDoc/* ../analytics/media/doctyl/uploads/iPhone-spec/
-
Create a tag for the new version. Format is "v1.2.3" (using semantic versioning http://semver.org/ ) and push it.
-
Run the "pod spec lint" command in the Mixpanel.podspec folder and verify that the file is validated -- otherwise it will not be accepted by Cocoapods. The lint tool will grab the code from the tag you specify in the Mixpanel.podspec, so you can only run this once you have pushed the new tag.
-
Go to github releases page and create a new release, with the best, most user-friendly explanation you can muster.
-
Release it.
-
Register for
pod trunk
http://guides.cocoapods.org/making/getting-setup-with-trunk.html and usepod trunk push Mixpanel.podspec
to add the new release to cocoapods. Check https://github.com/CocoaPods/Specs/tree/master/Specs/Mixpanel to make sure you were successful. -
Talk to Marshall about what you just released. He will send out an email to the dev mailing list.
-
Update this page with any information you found missing.