Skip to content

[EC-628] Added Crashlytics to the watchOS project#2267

Merged
vvolkgang merged 16 commits intomasterfrom
EC-628-watch-crashlytics
Dec 30, 2022
Merged

[EC-628] Added Crashlytics to the watchOS project#2267
vvolkgang merged 16 commits intomasterfrom
EC-628-watch-crashlytics

Conversation

@fedemkr
Copy link
Member

@fedemkr fedemkr commented Dec 26, 2022

Type of change

  • Bug fix
  • New feature development
  • Tech debt (refactoring, code cleanup, dependency upgrades, etc)
  • Build/deploy pipeline (DevOps)
  • Other

Objective

Add Firebase Crashlytics to the watchOS project so that we have crash reporting. AppCenter doesn't support watchOS that's why we are implementing the other one.

Code changes

  • ExtensionDelegate: Added this extension delegate to configure the firebase app
  • bitwardenApp: Referenced the delegate by using WKExtensionDelegateAdaptor
  • GoogleService-Info.plist: Added dummy info plist for the google service to have the reference in the project. Then it will be overriden in the CI build process with the one with the actual values.
  • project: Added firebase-ios-sdk package and the Crashlytics product.
  • build.yml:
    • Increased the runs-on to macos-12 in order to use newer XCode that can resolve dependencies using current schema for Swift Package Manager.
    • Decrypt GoogleService-Info.plist needed for Firebase config.
    • Copy watchOS app dSYMs to the export path on a new folder (they are on a new folder so they are not uploaded to AppCenter).
    • Added step to upload these dSYMs to Firebase Crashlytics. Regarding to this I wasn't able to make it work directly using the path with some wildcards so I just use bash find to get the upload-symbols script and execute it afterwards; this should be improved, but for now it works.
  • GoogleService-Info.plist.gpg: Added encrypted plist file for the Firebase config on the watchOS app

Before you submit

  • Please check for formatting errors (dotnet format --verify-no-changes) (required)
  • Please add unit tests where it makes sense to do so (encouraged but not required)
  • If this change requires a documentation update - notify the documentation team
  • If this change has particular deployment requirements - notify the DevOps team

sneakernuts and others added 15 commits December 27, 2022 11:58
…list for Crashlytics and also added step to upload Watch dSYMs to Crashlytics
…wrong path. Also deactivated droid builds so that it's faster to test and doesn't consume resources on that till the build is OK
… and added some logs to find the upload-symbols tool from SPM. Also fix making the dir for the watchOS dSYMs export path
…the upload-symbols script dynamically with find and then executing it
@fedemkr fedemkr marked this pull request as ready for review December 29, 2022 18:24
@fedemkr fedemkr requested review from a team December 29, 2022 18:24
Copy link

@mimartin12 mimartin12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Workflows LGTM 👍

@vvolkgang vvolkgang merged commit 660ba3d into master Dec 30, 2022
@vvolkgang vvolkgang deleted the EC-628-watch-crashlytics branch December 30, 2022 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants