Conversation
|
This is WIP, at this point. |
|
What else is missing from this setup? |
Current coverage for Services.framework is
|
| Files changed | - | - |
|---|---|---|
| RequestProtocol.swift | 0.00% |
💀 |
| APIError.swift | 0.00% |
💀 |
| APIEndpoint.swift | 25.00% |
🚫 |
| APISerialization.swift | 64.29% |
|
| APIClient.swift | 66.67% |
|
| OAuth.swift | 72.31% |
|
| APIEndpoint+Logging.swift | 76.19% |
|
| APIValidation.swift | 86.67% |
✅ |
| Formatters.swift | 100.00% |
✅ |
| Keychain+Codable.swift | 100.00% |
✅ |
| BuildType.swift | 100.00% |
✅ |
| APIEndpoint+Codable.swift | 100.00% |
✅ |
| APIEnvironment.swift | 100.00% |
✅ |
Current coverage for debug-PRODUCTNAME.app is 0.77%
| Files changed | - | - |
|---|---|---|
| SignInCoordinator.swift | 0.00% |
💀 |
| InstabugConfiguration.swift | 0.00% |
💀 |
| OnboardingCoordinator.swift | 0.00% |
💀 |
| OnboardingPageViewController.swift | 0.00% |
💀 |
| LoggingConfiguration.swift | 0.00% |
💀 |
| FirebaseAnalytics.swift | 0.00% |
💀 |
| DebugTextStyleViewController.swift | 0.00% |
💀 |
| AuthCoordinator.swift | 0.00% |
💀 |
| TableDataSource.swift | 0.00% |
💀 |
| UIColor+Extensions.swift | 0.00% |
💀 |
| OnboardingSamplePageViewController.swift | 0.00% |
💀 |
| ModalDismissBehavior.swift | 0.00% |
💀 |
| StatusBarConfiguration.swift | 0.00% |
💀 |
| SimpleTableCellItem.swift | 0.00% |
💀 |
| Appearance.swift | 0.00% |
💀 |
| DebugMenuViewController.swift | 0.00% |
💀 |
| AnalyticsConfiguration.swift | 0.00% |
💀 |
| ControlContainable.swift | 0.00% |
💀 |
| AppLifecycle.swift | 0.00% |
💀 |
| AnalyticsPageNames.swift | 0.00% |
💀 |
| Actionable.swift | 0.00% |
💀 |
| TableViewContainerCell.swift | 0.00% |
💀 |
| AppCenterConfiguration.swift | 0.00% |
💀 |
| ContentTabBarViewController.swift | 0.00% |
💀 |
| ContentCoordinator.swift | 0.00% |
💀 |
| ViewRepresentable.swift | 0.00% |
💀 |
| ProcessInfo+Utilities.swift | 0.00% |
💀 |
| TableViewCellRepresentable.swift | 0.00% |
💀 |
| Analytics.swift | 0.00% |
💀 |
| TableSection.swift | 0.00% |
💀 |
| DebugMenu.swift | 0.00% |
💀 |
| TableCellItem.swift | 0.00% |
💀 |
| DebugMenuConfiguration.swift | 0.00% |
💀 |
| HideBackButtonTextBehavior.swift | 0.00% |
💀 |
| AppCoordinator.swift | 0.00% |
💀 |
| CrashlyticsConfiguration.swift | 0.00% |
💀 |
| AppDelegate.swift | 17.14% |
💀 |
| UserDefaults+Utilities.swift | 50.00% |
Powered by xcov
Tests:
| Classname | Name |
|---|---|
| PRODUCTNAMETests.APIClientTests | testAuthenticatedRequestWithCredentials |
| PRODUCTNAMETests.APIClientTests | testAuthenticatedRequestWithNoCredentials |
Generated by 🚫 Danger
59a128a to
8b78045
Compare
|
|
||
| [circle-ci]: https://circleci.com/gh/Rightpoint/{{ cookiecutter.project_name }}-ios | ||
| [JIRA]: https://raizlabs.atlassian.net/secure/RapidBoard.jspa?projectKey={{ cookiecutter.jira_key }} | ||
| [sprint-hockey]: https://rink.hockeyapp.net/apps/ZZHOCKEY_SPRINT_IDZZ |
There was a problem hiding this comment.
Seems like the structure of these links won't play well for AppCenter :(
There was a problem hiding this comment.
is there a reason this format won't work?
There was a problem hiding this comment.
We'll need an account (user) in the url, which may vary per project.
7ac3f28 to
78c5706
Compare
Analytics Tweak CI Fixes
b35f876 to
623e9a6
Compare
ahtierney
left a comment
There was a problem hiding this comment.
Looking great! Just jotting down a few preliminary notes here.
PRODUCTNAME/README.md
Outdated
|
|
||
| ## Development Process | ||
| All stories and bugs are tracked in [JIRA][]. Development occurs on branches that are tested with the `test` fastlane task once a PR is created. The PR is reviewed and then merged into the `develop` branch. This triggers the `develop` fastlane task which distributes a build to the [develop][develop-hockey] hockey app for testing and PO approval. At the end of a sprint, a `sprint-X` tag is manually created which triggers the `sprint` fastlane task which distributes a build to the [sprint][sprint-hockey] hockey app. | ||
| All stories and bugs are tracked in [JIRA][]. Development occurs on branches that are tested with the `test` fastlane task once a PR is created. The PR is reviewed and then merged into the `develop` branch. This triggers the `develop` fastlane task which distributes a build to the [develop][develop-appcenter] hockey app for testing and PO approval. At the end of a sprint, a `sprint-X` tag is manually created which triggers the `sprint` fastlane task which distributes a build to the [sprint][sprint-appcenter] hockey app. |
There was a problem hiding this comment.
probably worth doing a global find+replace for hockey – still hanging out in here.
|
|
||
| [circle-ci]: https://circleci.com/gh/Rightpoint/{{ cookiecutter.project_name }}-ios | ||
| [JIRA]: https://raizlabs.atlassian.net/secure/RapidBoard.jspa?projectKey={{ cookiecutter.jira_key }} | ||
| [sprint-hockey]: https://rink.hockeyapp.net/apps/ZZHOCKEY_SPRINT_IDZZ |
There was a problem hiding this comment.
is there a reason this format won't work?
| class FirebaseAnalytics { | ||
|
|
||
| static let shared: FirebaseAnalytics = { () -> FirebaseAnalytics in | ||
| let sh = FirebaseAnalytics() |
There was a problem hiding this comment.
#pp shared – also 2 letter variable might trip a linter.
| // Copyright © THISYEAR ORGANIZATION. All rights reserved. | ||
| // | ||
|
|
||
| import Firebase |
There was a problem hiding this comment.
#? curios why firebase moved up here? maybe all the configuration code can be contained internally in the configure method?
| var filePath: String? | ||
| switch BuildType.active { | ||
| case .debug: | ||
| filePath = Bundle.main.path(forResource: "GoogleService-Info-Debug", ofType: "plist") |
There was a problem hiding this comment.
#pp
guard let filePath = Bundle.main.path(forResource: BuildType.active.googleAnalyticsConfigName, ofType: "plist") else {
Log.error("Firebase configuration not found!")
| # | ||
| # Ensure this file is checked in to source control! | ||
|
|
||
| gem 'fastlane-plugin-install_provisioning_profiles' |
There was a problem hiding this comment.
#?/#req we shouldn't be using this plugin any longer unless I'm missing something.
PRODUCTNAME/app/fastlane/Fastfile
Outdated
| ENV['FL_HOCKEY_NOTIFY'] = '0' | ||
|
|
||
| DERIVED_DATA_PATH = "#{ENV['RZ_TEST_REPORTS']}/derived_data" | ||
| TEST_SCHEME = "debug-PRODUCTNAME" | ||
| TEST_SCHEME = "debug-{{ cookiecutter.project_name | replace(' ', '') }}" |
There was a problem hiding this comment.
#pp this is a little brittle to have sitting everywhere, I'd prefer to have it be some sort of global constant (thought I recognize the preprocessing step isn't ideal).
PRODUCTNAME/app/fastlane/Fastfile
Outdated
| # MATCH_PASSWORD | ||
| # SLACK_URL - set the hook URL in the CircleCI environment | ||
|
|
||
| ENV['RZ_ARTIFACTS'] ||= ENV['CIRCLE_ARTIFACTS'] || './build' | ||
| ENV['RZ_TEST_REPORTS'] ||= ENV['CIRCLE_TEST_REPORTS'] || './build' | ||
| ENV['FASTLANE_XCODE_LIST_TIMEOUT'] = '120' | ||
| ENV['CI_BUILD'] = 'yes' | ||
| ENV['GYM_OUTPUT_NAME'] = 'PRODUCTNAME' | ||
| ENV['FL_HOCKEY_IPA'] = "#{ENV['RZ_ARTIFACTS']}/#{ENV['GYM_OUTPUT_NAME']}.ipa" | ||
| ENV['GYM_OUTPUT_NAME'] = '{{ cookiecutter.project_name | replace(' ', '') }}' |
There was a problem hiding this comment.
Anything in PRODUCTNAME shouldn't have {{ cookiecutter.project_name | replace(' ', '') }}, that is only for things in the {{ cookiecutter.project_name | replace(' ', '') }} directory.
PRODUCTNAME is replaced with {{ cookiecutter.project_name | replace(' ', '') }} in the generate_template.sh step
3d07331 to
58b53d7
Compare
| replace "LEADDEVELOPER" "{{ cookiecutter.lead_dev }}" | ||
| replace "APPLEID" "{{ cookiecutter.apple_id }}" | ||
| replace "com.raizlabs.PRODUCTNAME" "{{ cookiecutter.bundle_identifier }}" | ||
| replace "com.rightpoint.PRODUCTNAME" "{{ cookiecutter.bundle_identifier }}" |
| // Created by {{ cookiecutter.lead_dev }} on {% now 'utc', '%D' %}. | ||
| // Copyright © {% now 'utc', '%Y' %} {{ cookiecutter.company_name }}. All rights reserved. | ||
| // Created by {{ cookiecutter.lead_dev }} on TODAYSDATE. | ||
| // Copyright © THISYEAR {{ cookiecutter.company_name }}. All rights reserved. |
There was a problem hiding this comment.
@eliotw1 Is this TODAYSDATE and THISYEAR change intentional? It seems to be on a large majority of the files in this PR, which makes me think its a template regeneration or copy-paste error
No description provided.