-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[NT-424] Migrate HockeyApp to AppCenter #910
Conversation
@@ -44,15 +41,6 @@ jobs: | |||
keys: | |||
- fabric-sdk-cache-{{ checksum "fabric_version.txt" }} | |||
|
|||
- run: | |||
name: Store Hockey SDK Version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The AppCenter SDK is managed via Carthage, no need to cache this separately.
manager.authenticator.authenticateInstallation() | ||
.observeValues { data in | ||
let customProperties = MSCustomProperties() | ||
customProperties.setString(data.userName, forKey: "userName") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added this because there doesn't appear to be a similar userName
property like BITHockeyManager
had before.
withServices: [ | ||
MSAnalytics.self, | ||
MSCrashes.self, | ||
MSDistribute.self |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to confirm that MSDistribute
works correctly for us. In the set up docs it mentions adding the app secret to Info.plist
which is obviously problematic for us. So I didn't do it but I'm not sure if it will cause issues.
Generated by 🚫 Danger |
Kickstarter-iOS/Info.plist
Outdated
@@ -31,6 +31,7 @@ | |||
<dict> | |||
<key>CFBundleURLSchemes</key> | |||
<array> | |||
<string>appcenter-$(APPCENTER_$(APPCENTER_SCHEME_NAME)_API_TOKEN)</string> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Scollaco @ifbarrera This accesses the environment var for the API token based on an environment var for this configuration.
So for our alpha target the concatenated environment var is APPCENTER_ALPHA_API_TOKEN
and in this var name ALPHA
is a variable based on APPCENTER_SCHEME_NAME
which is a user-defined variable in our build settings.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These docs mention that we need to have the secret in the Info.plist
isa = XCBuildConfiguration; | ||
buildSettings = { | ||
APPCENTER_SCHEME_NAME = ALPHA; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Exhibit A
@Scollaco this is ready for re-review. Just note, where previously I was calling it an API token per app, it's actually just one API token and rather a secret per app. I've also since removed the production target from being submitted to AppCenter. We will only use it for alpha and beta distribution. |
Ok, I will test now and approve once it works. Could you please merge the secrets PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
📲 What
Replaces HockeyApp with Microsoft's new AppCenter SDK.
Note: So far I have only migrated our alpha target in order to test this end-to-end. Once we're satisfied we should migrate our beta and production targets.
🤔 Why
HockeyApp is being sunset on Nov 16 2019. We're required to migrate to AppCenter to continue using the platform for distributing our internal alpha and beta builds.
🛠 How
✅ Acceptance criteria
Distribute an alpha locally via
fastlane
using the following commands:alpha-dist-<something>
. This will generate an ad hoc alpha build on CircleCI and distribute that to AppCenter.⏰ TODO