diff --git a/.DS_Store b/.DS_Store index 774511d..c4b606e 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.github/.DS_Store b/.github/.DS_Store new file mode 100644 index 0000000..117f6bc Binary files /dev/null and b/.github/.DS_Store differ diff --git a/.github/workflows/.DS_Store b/.github/workflows/.DS_Store new file mode 100644 index 0000000..1dc6a4e Binary files /dev/null and b/.github/workflows/.DS_Store differ diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..1b23337 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +name: CI + +on: + pull_request: + branches: [ main ] + push: + branches: [ main ] + +jobs: + build-and-test: + name: Build and Test + runs-on: macos-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Show environment + run: | + xcodebuild -version + xcrun simctl list devices available | grep iPhone + + - name: Locate project + run: find . -name "*.xcodeproj" + + - name: Build and Test + working-directory: Stream-iOS + run: | + set -o pipefail + xcodebuild test \ + -scheme Stream-iOS \ + -destination 'platform=iOS Simulator,name=iPhone 17' \ + -enableCodeCoverage YES \ + CODE_SIGNING_ALLOWED=NO diff --git a/Stream-iOS/Stream-iOS.xcodeproj/project.pbxproj b/Stream-iOS/Stream-iOS.xcodeproj/project.pbxproj index c315310..dfa74ef 100644 --- a/Stream-iOS/Stream-iOS.xcodeproj/project.pbxproj +++ b/Stream-iOS/Stream-iOS.xcodeproj/project.pbxproj @@ -14,19 +14,11 @@ remoteGlobalIDString = 3ED3202530017E9D000BD658; remoteInfo = "Stream-iOS"; }; - 3ED3203E30017E9F000BD658 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 3ED3201E30017E9D000BD658 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3ED3202530017E9D000BD658; - remoteInfo = "Stream-iOS"; - }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 3ED3202630017E9D000BD658 /* Stream-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Stream-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 3ED3203330017E9F000BD658 /* Stream-iOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Stream-iOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3ED3203D30017E9F000BD658 /* Stream-iOSUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Stream-iOSUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ @@ -62,13 +54,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3ED3203A30017E9F000BD658 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -87,7 +72,6 @@ children = ( 3ED3202630017E9D000BD658 /* Stream-iOS.app */, 3ED3203330017E9F000BD658 /* Stream-iOSTests.xctest */, - 3ED3203D30017E9F000BD658 /* Stream-iOSUITests.xctest */, ); name = Products; sourceTree = ""; @@ -140,29 +124,6 @@ productReference = 3ED3203330017E9F000BD658 /* Stream-iOSTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 3ED3203C30017E9F000BD658 /* Stream-iOSUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3ED3204D30017E9F000BD658 /* Build configuration list for PBXNativeTarget "Stream-iOSUITests" */; - buildPhases = ( - 3ED3203930017E9F000BD658 /* Sources */, - 3ED3203A30017E9F000BD658 /* Frameworks */, - 3ED3203B30017E9F000BD658 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 3ED3203F30017E9F000BD658 /* PBXTargetDependency */, - ); - fileSystemSynchronizedGroups = ( - 3ED3204030017E9F000BD658 /* Stream-iOSUITests */, - ); - name = "Stream-iOSUITests"; - packageProductDependencies = ( - ); - productName = "Stream-iOSUITests"; - productReference = 3ED3203D30017E9F000BD658 /* Stream-iOSUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -180,10 +141,6 @@ CreatedOnToolsVersion = 26.5; TestTargetID = 3ED3202530017E9D000BD658; }; - 3ED3203C30017E9F000BD658 = { - CreatedOnToolsVersion = 26.5; - TestTargetID = 3ED3202530017E9D000BD658; - }; }; }; buildConfigurationList = 3ED3202130017E9D000BD658 /* Build configuration list for PBXProject "Stream-iOS" */; @@ -202,7 +159,6 @@ targets = ( 3ED3202530017E9D000BD658 /* Stream-iOS */, 3ED3203230017E9F000BD658 /* Stream-iOSTests */, - 3ED3203C30017E9F000BD658 /* Stream-iOSUITests */, ); }; /* End PBXProject section */ @@ -222,13 +178,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3ED3203B30017E9F000BD658 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -246,13 +195,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3ED3203930017E9F000BD658 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -261,11 +203,6 @@ target = 3ED3202530017E9D000BD658 /* Stream-iOS */; targetProxy = 3ED3203430017E9F000BD658 /* PBXContainerItemProxy */; }; - 3ED3203F30017E9F000BD658 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 3ED3202530017E9D000BD658 /* Stream-iOS */; - targetProxy = 3ED3203E30017E9F000BD658 /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -330,6 +267,7 @@ SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 6.0; }; name = Debug; }; @@ -386,6 +324,7 @@ MTL_FAST_MATH = YES; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_VERSION = 6.0; VALIDATE_PRODUCT = YES; }; name = Release; @@ -419,7 +358,7 @@ SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 6.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -453,7 +392,7 @@ SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 6.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; @@ -466,7 +405,7 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = SV9AA8VVE5; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 26.5; + IPHONEOS_DEPLOYMENT_TARGET = 17.6; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = "com.shahosh.Stream-iOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -474,7 +413,7 @@ SWIFT_APPROACHABLE_CONCURRENCY = YES; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 6.0; TARGETED_DEVICE_FAMILY = "1,2"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Stream-iOS.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Stream-iOS"; }; @@ -488,7 +427,7 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = SV9AA8VVE5; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 26.5; + IPHONEOS_DEPLOYMENT_TARGET = 17.6; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = "com.shahosh.Stream-iOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -496,52 +435,12 @@ SWIFT_APPROACHABLE_CONCURRENCY = YES; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 6.0; TARGETED_DEVICE_FAMILY = "1,2"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Stream-iOS.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Stream-iOS"; }; name = Release; }; - 3ED3204E30017E9F000BD658 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = SV9AA8VVE5; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.shahosh.Stream-iOSUITests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRING_CATALOG_GENERATE_SYMBOLS = NO; - SWIFT_APPROACHABLE_CONCURRENCY = YES; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = "Stream-iOS"; - }; - name = Debug; - }; - 3ED3204F30017E9F000BD658 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = SV9AA8VVE5; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.shahosh.Stream-iOSUITests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRING_CATALOG_GENERATE_SYMBOLS = NO; - SWIFT_APPROACHABLE_CONCURRENCY = YES; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = "Stream-iOS"; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -572,15 +471,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3ED3204D30017E9F000BD658 /* Build configuration list for PBXNativeTarget "Stream-iOSUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3ED3204E30017E9F000BD658 /* Debug */, - 3ED3204F30017E9F000BD658 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = 3ED3201E30017E9D000BD658 /* Project object */; diff --git a/Stream-iOS/Stream-iOS/Assets.xcassets/.DS_Store b/Stream-iOS/Stream-iOS/Assets.xcassets/.DS_Store index 1180f1d..401ea9a 100644 Binary files a/Stream-iOS/Stream-iOS/Assets.xcassets/.DS_Store and b/Stream-iOS/Stream-iOS/Assets.xcassets/.DS_Store differ