Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 30 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,39 @@ on:

jobs:
build-and-test:
name: Build and Test
runs-on: macos-15
name: Build and Test (Swift 6.2.1)
runs-on: macos-latest
env:
IOS_DEVICE_NAME: "iPhone 16 Pro"
IOS_OS_VERSION: "18.5"

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_16.2.app

- name: Swift Version
run: swift --version

- name: Build SDK
run: swift build -c release

# - name: Run Tests
# run: swift test

# - name: Build Example App
# run: |
# cd Examples/RealtimeExample
# xcodebuild -scheme RealtimeExample \
# -destination 'platform=iOS Simulator,name=iPhone 15' \
# clean build \
# CODE_SIGNING_ALLOWED=NO
run: sudo xcode-select -s /Applications/Xcode_26.1.app

- name: Build Hygiene (Reset Package State)
run: |
swift package reset
swift build -c debug

- name: Build iOS App
uses: brightdigit/swift-build@v1.4.2
with:
build-only: true
# 1. Provide the scheme name
scheme: DecartSDK

# 2. Specify 'ios' to trigger xcodebuild (instead of 'swift build')
type: ios
deviceName: ${{ env.IOS_DEVICE_NAME }}
osVersion: ${{ env.IOS_OS_VERSION }}
download-platform: true

# 3. FIX: Path issue. This moves the context into the subfolder
xcode: /Applications/Xcode_26.1.app
# 6. Prettify the logs (optional but recommended)
use-xcbeautify: true
xcbeautify-renderer: github-actions
24 changes: 21 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ on:
jobs:
release:
name: Create Release
runs-on: macos-15
runs-on: macos-latest
env:
IOS_DEVICE_NAME: "iPhone 16 Pro"
IOS_OS_VERSION: "18.5"

permissions:
contents: write
Expand All @@ -18,10 +21,25 @@ jobs:
uses: actions/checkout@v4

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_16.2.app
run: sudo xcode-select -s /Applications/Xcode_26.1.app

- name: Build Hygiene (Reset Package State)
run: |
swift package reset
swift build -c debug

- name: Build Release
run: swift build -c release
uses: brightdigit/swift-build@v1.4.2
with:
build-only: true
scheme: DecartSDK
type: ios
deviceName: ${{ env.IOS_DEVICE_NAME }}
osVersion: ${{ env.IOS_OS_VERSION }}
download-platform: true
xcode: /Applications/Xcode_26.1.app
use-xcbeautify: true
xcbeautify-renderer: github-actions

- name: Extract Version
id: version
Expand Down
49 changes: 24 additions & 25 deletions Example.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
objects = {

/* Begin PBXBuildFile section */
161F07602F0E80DC001B6765 /* DecartSDK in Frameworks */ = {isa = PBXBuildFile; productRef = 161F075F2F0E80DC001B6765 /* DecartSDK */; };
165B2B9B2ECE09E9004D848C /* Factory in Frameworks */ = {isa = PBXBuildFile; productRef = 165B2B9A2ECE09E9004D848C /* Factory */; };
165B2B9D2ECE09E9004D848C /* FactoryKit in Frameworks */ = {isa = PBXBuildFile; productRef = 165B2B9C2ECE09E9004D848C /* FactoryKit */; };
16E67C3C2EB8CC9F00AF5515 /* DecartSDK in Frameworks */ = {isa = PBXBuildFile; productRef = 16E67C3B2EB8CC9F00AF5515 /* DecartSDK */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
Expand All @@ -30,8 +30,8 @@
buildActionMask = 2147483647;
files = (
165B2B9D2ECE09E9004D848C /* FactoryKit in Frameworks */,
16E67C3C2EB8CC9F00AF5515 /* DecartSDK in Frameworks */,
165B2B9B2ECE09E9004D848C /* Factory in Frameworks */,
161F07602F0E80DC001B6765 /* DecartSDK in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -76,16 +76,15 @@
buildRules = (
);
dependencies = (
16E67C3E2EB8D01600AF5515 /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
16D70B982EB8CA0C00455077 /* Example */,
);
name = Example;
packageProductDependencies = (
16E67C3B2EB8CC9F00AF5515 /* DecartSDK */,
165B2B9A2ECE09E9004D848C /* Factory */,
165B2B9C2ECE09E9004D848C /* FactoryKit */,
161F075F2F0E80DC001B6765 /* DecartSDK */,
);
productName = Example;
productReference = 16D70B962EB8CA0C00455077 /* Example.app */;
Expand Down Expand Up @@ -116,8 +115,8 @@
mainGroup = 16D70B8D2EB8CA0C00455077;
minimizedProjectReferenceProxies = 1;
packageReferences = (
16E67C3A2EB8CC9F00AF5515 /* XCLocalSwiftPackageReference "../decart-ios" */,
165B2B992ECE09E9004D848C /* XCRemoteSwiftPackageReference "Factory" */,
161F075C2F0E80B8001B6765 /* XCLocalSwiftPackageReference "../decart-ios" */,
);
preferredProjectObjectVersion = 77;
productRefGroup = 16D70B972EB8CA0C00455077 /* Products */;
Expand Down Expand Up @@ -149,13 +148,6 @@
};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
16E67C3E2EB8D01600AF5515 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
productRef = 16E67C3D2EB8D01600AF5515 /* DecartSDK */;
};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
16D70B9F2EB8CA0D00455077 /* Debug */ = {
isa = XCBuildConfiguration;
Expand Down Expand Up @@ -217,7 +209,10 @@
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = 6.0;
};
name = Debug;
};
Expand Down Expand Up @@ -274,6 +269,9 @@
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = 6.0;
VALIDATE_PRODUCT = YES;
};
name = Release;
Expand All @@ -283,6 +281,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = BQ3Q4NZWWC;
Expand All @@ -302,12 +301,14 @@
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = ai.decart.Example;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_APPROACHABLE_CONCURRENCY = YES;
SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 5.0;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
Expand All @@ -317,6 +318,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = BQ3Q4NZWWC;
Expand All @@ -334,14 +336,16 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = ai.decart.Examplea;
PRODUCT_BUNDLE_IDENTIFIER = ai.decart.Example;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_APPROACHABLE_CONCURRENCY = YES;
SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 5.0;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
Expand Down Expand Up @@ -370,7 +374,7 @@
/* End XCConfigurationList section */

/* Begin XCLocalSwiftPackageReference section */
16E67C3A2EB8CC9F00AF5515 /* XCLocalSwiftPackageReference "../decart-ios" */ = {
161F075C2F0E80B8001B6765 /* XCLocalSwiftPackageReference "../decart-ios" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = "../decart-ios";
};
Expand All @@ -388,6 +392,10 @@
/* End XCRemoteSwiftPackageReference section */

/* Begin XCSwiftPackageProductDependency section */
161F075F2F0E80DC001B6765 /* DecartSDK */ = {
isa = XCSwiftPackageProductDependency;
productName = DecartSDK;
};
165B2B9A2ECE09E9004D848C /* Factory */ = {
isa = XCSwiftPackageProductDependency;
package = 165B2B992ECE09E9004D848C /* XCRemoteSwiftPackageReference "Factory" */;
Expand All @@ -398,15 +406,6 @@
package = 165B2B992ECE09E9004D848C /* XCRemoteSwiftPackageReference "Factory" */;
productName = FactoryKit;
};
16E67C3B2EB8CC9F00AF5515 /* DecartSDK */ = {
isa = XCSwiftPackageProductDependency;
productName = DecartSDK;
};
16E67C3D2EB8D01600AF5515 /* DecartSDK */ = {
isa = XCSwiftPackageProductDependency;
package = 16E67C3A2EB8CC9F00AF5515 /* XCLocalSwiftPackageReference "../decart-ios" */;
productName = DecartSDK;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 16D70B8E2EB8CA0C00455077 /* Project object */;
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 6 additions & 1 deletion Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,12 @@
<EnvironmentVariables>
<EnvironmentVariable
key = "DECART_API_KEY"
value = "real_SneqRkuhyIRnMpXDLLrrNpCvkLZvlNiqpxtTJBxRnrerWQIOMtKkysNbOUKTuofs"
value = "funcall_eIJgFmMEbcRfsbTNRGdAWFumYkXOJpWyzoXPPcLClZYATEaiiKuHYFzvDEiOGxtO"
isEnabled = "YES">
</EnvironmentVariable>
<EnvironmentVariable
key = "ENABLE_DECART_SDK_DUBUG_LOGS"
value = "YES"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
Expand Down
Loading