summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Fischer <joeljfischer@gmail.com>2020-10-01 15:56:43 -0400
committerGitHub <noreply@github.com>2020-10-01 15:56:43 -0400
commit924c510363f406ba3527458e9e13581a4890b6f7 (patch)
tree2e7bcd82ec658fab08b66c6643cdc4b6418f3ae8
parentcd0af4519441dbe9afa638c175c1942ea3bc7704 (diff)
parent3d1967851849eb585c76fe20b7136b8746e9a726 (diff)
downloadsdl_ios-924c510363f406ba3527458e9e13581a4890b6f7.tar.gz
Merge pull request #1803 from smartdevicelink/bugfix/issue-1801-github-ci-fail
Fix Github CI and update to Xcode 12 in CI
-rw-r--r--.github/workflows/test.yml23
-rw-r--r--SmartDeviceLink-iOS.xcodeproj/project.pbxproj12
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleManagerSpec.m23
-rw-r--r--SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPControlSessionSpec.m2
-rw-r--r--SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPDataSessionSpec.m2
-rw-r--r--SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPSessionSpec.m2
-rw-r--r--SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPTransportSpec.m2
-rw-r--r--SmartDeviceLinkTests/TransportSpecs/iAP/Utilities/EAAccessory+OCMock.h29
-rw-r--r--SmartDeviceLinkTests/TransportSpecs/iAP/Utilities/EAAccessory+OCMock.m (renamed from SmartDeviceLinkTests/TransportSpecs/iAP/EAAccessory+OCMock.m)5
-rw-r--r--carthage-build.sh6
10 files changed, 69 insertions, 37 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index d30dcd7e5..97f5ca6ac 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -5,7 +5,7 @@ on: [push, pull_request]
env:
PROJECT: 'SmartDeviceLink-iOS.xcodeproj'
- DESTINATION: 'platform=iOS Simulator,name=iPhone 11,OS=13.5'
+ DESTINATION: 'platform=iOS Simulator,name=iPhone 11,OS=14.0'
jobs:
build:
@@ -27,7 +27,7 @@ jobs:
# Select the Xcode version (the platform/simulator/OS available for testing depend on the Xcode version)
- name: Select Xcode version
- run: sudo xcode-select -switch /Applications/Xcode_11.5.app
+ run: sudo xcode-select -switch /Applications/Xcode_12.0.0.app
- name: Build
run: set -o pipefail && xcodebuild -scheme "${{ matrix.scheme }}" -destination "$DESTINATION" build | xcpretty --color --simple
@@ -40,6 +40,14 @@ jobs:
matrix:
scheme: ['SmartDeviceLink']
steps:
+ # Print the available Xcode versions
+ - name: Get available Xcode versions on the server
+ run: ls /Applications | grep Xcode
+
+ # Select the Xcode version (the platform/simulator/OS available for testing depend on the Xcode version)
+ - name: Select Xcode version
+ run: sudo xcode-select -switch /Applications/Xcode_12.0.0.app
+
- name: Checkout repository
uses: actions/checkout@v2.3.1
with:
@@ -55,15 +63,8 @@ jobs:
- name: Installing dependencies
if: steps.carthage-cache.outputs.cache-hit != 'true'
- run: carthage bootstrap --no-use-binaries --platform iOS --cache-builds
-
- # Print the available Xcode versions
- - name: Get available Xcode versions on the server
- run: ls /Applications | grep Xcode
-
- # Select the Xcode version (the platform/simulator/OS available for testing depend on the Xcode version)
- - name: Select Xcode version
- run: sudo xcode-select -switch /Applications/Xcode_11.5.app
+ run: bash carthage-build.sh --no-use-binaries --platform iOS --cache-builds
+ # run: carthage bootstrap --no-use-binaries --platform iOS --cache-builds
# Split build into build-only and test-only as it is faster than building and running in one step
- name: Building unit tests
diff --git a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
index cdc2edac2..b2ddf4dbf 100644
--- a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
+++ b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
@@ -2084,6 +2084,7 @@
4A4AD8A324894260008FC414 /* TestOldConfigurationUpdateManagerDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestOldConfigurationUpdateManagerDelegate.m; path = DevAPISpecs/TestOldConfigurationUpdateManagerDelegate.m; sourceTree = "<group>"; };
4A4AD8A524894270008FC414 /* TestNewConfigurationUpdateManagerDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestNewConfigurationUpdateManagerDelegate.h; sourceTree = "<group>"; };
4A4AD8A624894270008FC414 /* TestNewConfigurationUpdateManagerDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestNewConfigurationUpdateManagerDelegate.m; sourceTree = "<group>"; };
+ 4A6B0D6125262D130025516A /* EAAccessory+OCMock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "EAAccessory+OCMock.h"; sourceTree = "<group>"; };
4A877498251BBE2400A8BEBB /* SmartDeviceLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SmartDeviceLink.h; path = public/SmartDeviceLink.h; sourceTree = "<group>"; };
4A8BD22324F93131000945E3 /* SDLMassageCushionFirmness.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLMassageCushionFirmness.h; path = public/SDLMassageCushionFirmness.h; sourceTree = "<group>"; };
4A8BD22424F93131000945E3 /* SDLMediaServiceData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLMediaServiceData.m; path = public/SDLMediaServiceData.m; sourceTree = "<group>"; };
@@ -4200,6 +4201,15 @@
name = Utilities;
sourceTree = "<group>";
};
+ 4A6B0D6025262CF50025516A /* Utilities */ = {
+ isa = PBXGroup;
+ children = (
+ 4A6B0D6125262D130025516A /* EAAccessory+OCMock.h */,
+ 88DF998C22035CC600477AC1 /* EAAccessory+OCMock.m */,
+ );
+ path = Utilities;
+ sourceTree = "<group>";
+ };
4A9D02BB2497EEB400FBE99B /* Custom RPC Adapters */ = {
isa = PBXGroup;
children = (
@@ -6685,7 +6695,7 @@
88DF998B22035CB100477AC1 /* iAP */ = {
isa = PBXGroup;
children = (
- 88DF998C22035CC600477AC1 /* EAAccessory+OCMock.m */,
+ 4A6B0D6025262CF50025516A /* Utilities */,
88DF998E22035D1700477AC1 /* SDLIAPSessionSpec.m */,
88DF999022035D5A00477AC1 /* SDLIAPTransportSpec.m */,
88BCEA942266592D00BB7E70 /* SDLIAPControlSessionSpec.m */,
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleManagerSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleManagerSpec.m
index dfba05a0e..0af01876d 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleManagerSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleManagerSpec.m
@@ -65,6 +65,12 @@
@property (copy, nonatomic) dispatch_queue_t lifecycleQueue;
@property (assign, nonatomic) int32_t lastCorrelationId;
@property (strong, nonatomic) SDLLanguage currentVRLanguage;
+@property (strong, nonatomic, nullable) SDLSecondaryTransportManager *secondaryTransportManager;
+@property (strong, nonatomic, nullable) SDLLifecycleProtocolHandler *protocolHandler;
+@end
+
+@interface SDLGlobals ()
+@property (copy, nonatomic, readwrite) SDLVersion *protocolVersion;
@end
QuickConfigurationBegin(SendingRPCsConfiguration)
@@ -84,17 +90,6 @@ QuickConfigurationBegin(SendingRPCsConfiguration)
QuickConfigurationEnd
-@interface SDLGlobals ()
-@property (copy, nonatomic, readwrite) SDLVersion *protocolVersion;
-@end
-
-
-@interface SDLLifecycleManager ()
-// reach the private property for testing
-@property (strong, nonatomic, nullable) SDLSecondaryTransportManager *secondaryTransportManager;
-@property (strong, nonatomic, nullable) SDLLifecycleProtocolHandler *protocolHandler;
-@end
-
QuickSpecBegin(SDLLifecycleManagerSpec)
@@ -303,7 +298,7 @@ describe(@"a lifecycle manager", ^{
describe(@"after receiving a register app interface response", ^{
__block NSError *fileManagerStartError = [NSError errorWithDomain:@"testDomain" code:0 userInfo:nil];
__block NSError *permissionManagerStartError = [NSError errorWithDomain:@"testDomain" code:0 userInfo:nil];
-
+
beforeEach(^{
OCMStub([(SDLLockScreenManager *)lockScreenManagerMock start]);
OCMStub([fileManagerMock startWithCompletionHandler:([OCMArg invokeBlockWithArgs:@(YES), fileManagerStartError, nil])]);
@@ -317,7 +312,7 @@ describe(@"a lifecycle manager", ^{
transitionToState(SDLLifecycleStateRegistered);
[NSThread sleepForTimeInterval:0.3];
});
-
+
it(@"should eventually reach the ready state", ^{
expect(testManager.lifecycleState).toEventually(equal(SDLLifecycleStateReady));
OCMVerify([(SDLLockScreenManager *)lockScreenManagerMock start]);
@@ -327,7 +322,7 @@ describe(@"a lifecycle manager", ^{
OCMStub([streamingManagerMock startSecondaryTransportWithProtocol:[OCMArg any]]);
}
});
-
+
itBehavesLike(@"unable to send an RPC", ^{ return @{ @"manager": testManager }; });
});
diff --git a/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPControlSessionSpec.m b/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPControlSessionSpec.m
index dbce3da78..ccf85cb28 100644
--- a/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPControlSessionSpec.m
+++ b/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPControlSessionSpec.m
@@ -12,7 +12,7 @@
#import "SDLIAPControlSession.h"
-#import "EAAccessory+OCMock.m"
+#import "EAAccessory+OCMock.h"
#import "SDLIAPConstants.h"
#import "SDLIAPControlSessionDelegate.h"
#import "SDLIAPSession.h"
diff --git a/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPDataSessionSpec.m b/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPDataSessionSpec.m
index 5c6112373..1b5e4b001 100644
--- a/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPDataSessionSpec.m
+++ b/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPDataSessionSpec.m
@@ -12,7 +12,7 @@
#import "SDLIAPDataSession.h"
-#import "EAAccessory+OCMock.m"
+#import "EAAccessory+OCMock.h"
#import "SDLIAPConstants.h"
#import "SDLIAPSession.h"
#import "SDLIAPDataSessionDelegate.h"
diff --git a/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPSessionSpec.m b/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPSessionSpec.m
index f253a1d44..8b638afb0 100644
--- a/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPSessionSpec.m
+++ b/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPSessionSpec.m
@@ -10,7 +10,7 @@
#import <Nimble/Nimble.h>
#import <OCMock/OCMock.h>
-#import "EAAccessory+OCMock.m"
+#import "EAAccessory+OCMock.h"
#import "SDLIAPSession.h"
#import "SDLIAPConstants.h"
diff --git a/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPTransportSpec.m b/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPTransportSpec.m
index 808ba33bf..57761fd0a 100644
--- a/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPTransportSpec.m
+++ b/SmartDeviceLinkTests/TransportSpecs/iAP/SDLIAPTransportSpec.m
@@ -10,7 +10,7 @@
#import <Nimble/Nimble.h>
#import <OCMock/OCMock.h>
-#import "EAAccessory+OCMock.m"
+#import "EAAccessory+OCMock.h"
#import "SDLIAPConstants.h"
#import "SDLIAPTransport.h"
#import "SDLIAPSession.h"
diff --git a/SmartDeviceLinkTests/TransportSpecs/iAP/Utilities/EAAccessory+OCMock.h b/SmartDeviceLinkTests/TransportSpecs/iAP/Utilities/EAAccessory+OCMock.h
new file mode 100644
index 000000000..8862bbec2
--- /dev/null
+++ b/SmartDeviceLinkTests/TransportSpecs/iAP/Utilities/EAAccessory+OCMock.h
@@ -0,0 +1,29 @@
+//
+// EAAccessory+OCMock.h
+// SmartDeviceLinkTests
+//
+// Created by Joel Fischer on 10/1/20.
+// Copyright © 2020 smartdevicelink. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import <OCMock/OCMock.h>
+#import <ExternalAccessory/ExternalAccessory.h>
+
+@interface EAAccessory (OCMock)
+
++ (EAAccessory *)sdlCoreMock;
+
+@end
+
+@interface EAAccessoryManager (OCMock)
+
++ (EAAccessoryManager *)mockManager;
+
+@end
+
+@interface EASession (OCMock)
+
++ (EASession *)mockSessionWithAccessory:(EAAccessory *)mockAccessory protocolString:(NSString *)mockProtocolString inputStream:(NSInputStream *)mockInputStream outputStream:(NSOutputStream *)mockOutputStream;
+
+@end
diff --git a/SmartDeviceLinkTests/TransportSpecs/iAP/EAAccessory+OCMock.m b/SmartDeviceLinkTests/TransportSpecs/iAP/Utilities/EAAccessory+OCMock.m
index 1c32c4b73..49dbed6fa 100644
--- a/SmartDeviceLinkTests/TransportSpecs/iAP/EAAccessory+OCMock.m
+++ b/SmartDeviceLinkTests/TransportSpecs/iAP/Utilities/EAAccessory+OCMock.m
@@ -6,10 +6,7 @@
// Copyright © 2019 smartdevicelink. All rights reserved.
//
-#import <Foundation/Foundation.h>
-#import <UIKit/UIKit.h>
-#import <OCMock/OCMock.h>
-#import <ExternalAccessory/ExternalAccessory.h>
+#import "EAAccessory+OCMock.h"
// Based off of the Pebble Accessory OCKMock by Heiko Behrens https://github.com/HBehrens/PebbleKit-ios-sdk-test/blob/master/PebbleVendor/EAAccessoryFramework%2BOCMock.m
diff --git a/carthage-build.sh b/carthage-build.sh
index 3c9a86c73..0dcdefdee 100644
--- a/carthage-build.sh
+++ b/carthage-build.sh
@@ -11,11 +11,11 @@ trap 'rm -f "$xcconfig"' INT TERM HUP EXIT
# For Xcode 12 make sure EXCLUDED_ARCHS is set to arm architectures otherwise
# the build will fail on lipo due to duplicate architectures.
-# Xcode 12 GM (12A7209)
-echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_12A7209 = arm64 arm64e armv7 armv7s armv6 armv8' >> $xcconfig
+CURRENT_XCODE_VERSION=$(xcodebuild -version | grep "Build version" | cut -d' ' -f3)
+echo "EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_$CURRENT_XCODE_VERSION = arm64 arm64e armv7 armv7s armv6 armv8" >> $xcconfig
echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200 = $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_$(XCODE_PRODUCT_BUILD_VERSION))' >> $xcconfig
echo 'EXCLUDED_ARCHS = $(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT)__XCODE_$(XCODE_VERSION_MAJOR))' >> $xcconfig
export XCODE_XCCONFIG_FILE="$xcconfig"
-carthage build "$@"
+carthage build "$@" \ No newline at end of file