Skip to content
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
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
15 changes: 15 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,21 @@ jobs:
- name: Run ${{ matrix.config }} tests
run: swift test -c ${{ matrix.config }}

examples:
name: Examples
strategy:
matrix:
xcode: ['16.3']
config: ['debug']
scheme: ['Reminders', 'CaseStudies', 'SyncUps']
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- name: Select Xcode ${{ matrix.xcode }}
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
- name: xcodebuild ${{ matrix.scheme }}
run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="${{ matrix.scheme }}" xcodebuild-raw

linux:
name: Linux
strategy:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ xcuserdata/
DerivedData/
.swiftpm
.netrc
*.sqlite
159 changes: 154 additions & 5 deletions Examples/Examples.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
/* Begin PBXBuildFile section */
CA14DBC92DA884C400E36852 /* CasePaths in Frameworks */ = {isa = PBXBuildFile; productRef = CA14DBC82DA884C400E36852 /* CasePaths */; };
CA2908C92D4AF70E003F165F /* UIKitNavigation in Frameworks */ = {isa = PBXBuildFile; productRef = CA2908C82D4AF70E003F165F /* UIKitNavigation */; };
CA5E46912DEBB8570069E0F8 /* SwiftUINavigation in Frameworks */ = {isa = PBXBuildFile; productRef = CA5E46902DEBB8570069E0F8 /* SwiftUINavigation */; };
CA5E47072DECEF0F0069E0F8 /* InlineSnapshotTesting in Frameworks */ = {isa = PBXBuildFile; productRef = CA5E47062DECEF0F0069E0F8 /* InlineSnapshotTesting */; };
CA5E47092DECEFC80069E0F8 /* SnapshotTestingCustomDump in Frameworks */ = {isa = PBXBuildFile; productRef = CA5E47082DECEFC80069E0F8 /* SnapshotTestingCustomDump */; };
CA5E470B2DECF0280069E0F8 /* DependenciesTestSupport in Frameworks */ = {isa = PBXBuildFile; productRef = CA5E470A2DECF0280069E0F8 /* DependenciesTestSupport */; };
CAD001872D874F1F00FA977A /* DependenciesTestSupport in Frameworks */ = {isa = PBXBuildFile; productRef = CAD001862D874F1F00FA977A /* DependenciesTestSupport */; };
CAFDD64A2D5E823A00EE099E /* SharingGRDB in Frameworks */ = {isa = PBXBuildFile; productRef = CAFDD6492D5E823A00EE099E /* SharingGRDB */; };
DC5FA7482D4C63D60082743E /* DependenciesMacros in Frameworks */ = {isa = PBXBuildFile; productRef = DC5FA7472D4C63D60082743E /* DependenciesMacros */; };
Expand All @@ -19,6 +23,13 @@
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
CA5E469A2DEBFE410069E0F8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = CAF836902D4735620047AEB5 /* Project object */;
proxyType = 1;
remoteGlobalIDString = CAF836D72D4735AB0047AEB5;
remoteInfo = Reminders;
};
CAD001812D874E6F00FA977A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = CAF836902D4735620047AEB5 /* Project object */;
Expand All @@ -36,6 +47,7 @@
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
CA5E46962DEBFE410069E0F8 /* RemindersTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RemindersTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
CA5F37542D5AFBBC002E1A9E /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
CAD0017D2D874E6F00FA977A /* SyncUpTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SyncUpTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
CAF836982D4735620047AEB5 /* CaseStudies.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CaseStudies.app; sourceTree = BUILT_PRODUCTS_DIR; };
Expand Down Expand Up @@ -70,6 +82,11 @@
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */

/* Begin PBXFileSystemSynchronizedRootGroup section */
CA5E46972DEBFE410069E0F8 /* RemindersTests */ = {
isa = PBXFileSystemSynchronizedRootGroup;
path = RemindersTests;
sourceTree = "<group>";
};
CAD0017E2D874E6F00FA977A /* SyncUpTests */ = {
isa = PBXFileSystemSynchronizedRootGroup;
path = SyncUpTests;
Expand Down Expand Up @@ -107,6 +124,16 @@
/* End PBXFileSystemSynchronizedRootGroup section */

/* Begin PBXFrameworksBuildPhase section */
CA5E46932DEBFE410069E0F8 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
CA5E47092DECEFC80069E0F8 /* SnapshotTestingCustomDump in Frameworks */,
CA5E47072DECEF0F0069E0F8 /* InlineSnapshotTesting in Frameworks */,
CA5E470B2DECF0280069E0F8 /* DependenciesTestSupport in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
CAD0017A2D874E6F00FA977A /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -137,6 +164,7 @@
files = (
CAFDD64A2D5E823A00EE099E /* SharingGRDB in Frameworks */,
CA14DBC92DA884C400E36852 /* CasePaths in Frameworks */,
CA5E46912DEBB8570069E0F8 /* SwiftUINavigation in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -161,6 +189,7 @@
CAF8369A2D4735620047AEB5 /* CaseStudies */,
CAF836AB2D4735640047AEB5 /* CaseStudiesTests */,
CAF836D92D4735AB0047AEB5 /* Reminders */,
CA5E46972DEBFE410069E0F8 /* RemindersTests */,
DCBE89CD2D483FB90071F499 /* SyncUps */,
CAD0017E2D874E6F00FA977A /* SyncUpTests */,
CAF837022D4735C00047AEB5 /* Frameworks */,
Expand All @@ -176,6 +205,7 @@
CAF836D82D4735AB0047AEB5 /* Reminders.app */,
DCBE89CC2D483FB90071F499 /* SyncUps.app */,
CAD0017D2D874E6F00FA977A /* SyncUpTests.xctest */,
CA5E46962DEBFE410069E0F8 /* RemindersTests.xctest */,
);
name = Products;
sourceTree = "<group>";
Expand All @@ -190,6 +220,32 @@
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
CA5E46952DEBFE410069E0F8 /* RemindersTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = CA5E469C2DEBFE420069E0F8 /* Build configuration list for PBXNativeTarget "RemindersTests" */;
buildPhases = (
CA5E46922DEBFE410069E0F8 /* Sources */,
CA5E46932DEBFE410069E0F8 /* Frameworks */,
CA5E46942DEBFE410069E0F8 /* Resources */,
);
buildRules = (
);
dependencies = (
CA5E469B2DEBFE410069E0F8 /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
CA5E46972DEBFE410069E0F8 /* RemindersTests */,
);
name = RemindersTests;
packageProductDependencies = (
CA5E47062DECEF0F0069E0F8 /* InlineSnapshotTesting */,
CA5E47082DECEFC80069E0F8 /* SnapshotTestingCustomDump */,
CA5E470A2DECF0280069E0F8 /* DependenciesTestSupport */,
);
productName = RemindersTests;
productReference = CA5E46962DEBFE410069E0F8 /* RemindersTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
CAD0017C2D874E6F00FA977A /* SyncUpTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = CAD001852D874E6F00FA977A /* Build configuration list for PBXNativeTarget "SyncUpTests" */;
Expand Down Expand Up @@ -280,6 +336,7 @@
packageProductDependencies = (
CAFDD6492D5E823A00EE099E /* SharingGRDB */,
CA14DBC82DA884C400E36852 /* CasePaths */,
CA5E46902DEBB8570069E0F8 /* SwiftUINavigation */,
);
productName = Reminders;
productReference = CAF836D82D4735AB0047AEB5 /* Reminders.app */;
Expand Down Expand Up @@ -318,9 +375,13 @@
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastSwiftUpdateCheck = 1630;
LastSwiftUpdateCheck = 1640;
LastUpgradeCheck = 1620;
TargetAttributes = {
CA5E46952DEBFE410069E0F8 = {
CreatedOnToolsVersion = 16.4;
TestTargetID = CAF836D72D4735AB0047AEB5;
};
CAD0017C2D874E6F00FA977A = {
CreatedOnToolsVersion = 16.3;
TestTargetID = DCBE89CB2D483FB90071F499;
Expand Down Expand Up @@ -353,6 +414,7 @@
DCBE8A122D4842BF0071F499 /* XCRemoteSwiftPackageReference "swift-case-paths" */,
DCF267372D48437300B680BE /* XCRemoteSwiftPackageReference "swift-navigation" */,
DC5FA7462D4C63D60082743E /* XCRemoteSwiftPackageReference "swift-dependencies" */,
CA5E47052DECEF0F0069E0F8 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */,
);
preferredProjectObjectVersion = 77;
productRefGroup = CAF836992D4735620047AEB5 /* Products */;
Expand All @@ -362,13 +424,21 @@
CAF836972D4735620047AEB5 /* CaseStudies */,
CAF836A72D4735640047AEB5 /* CaseStudiesTests */,
CAF836D72D4735AB0047AEB5 /* Reminders */,
CA5E46952DEBFE410069E0F8 /* RemindersTests */,
DCBE89CB2D483FB90071F499 /* SyncUps */,
CAD0017C2D874E6F00FA977A /* SyncUpTests */,
);
};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
CA5E46942DEBFE410069E0F8 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
CAD0017B2D874E6F00FA977A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -407,6 +477,13 @@
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
CA5E46922DEBFE410069E0F8 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
CAD001792D874E6F00FA977A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -445,6 +522,11 @@
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
CA5E469B2DEBFE410069E0F8 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = CAF836D72D4735AB0047AEB5 /* Reminders */;
targetProxy = CA5E469A2DEBFE410069E0F8 /* PBXContainerItemProxy */;
};
CAD001822D874E6F00FA977A /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = DCBE89CB2D483FB90071F499 /* SyncUps */;
Expand All @@ -458,14 +540,47 @@
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
CA5E469D2DEBFE420069E0F8 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.RemindersTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Reminders.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Reminders";
};
name = Debug;
};
CA5E469E2DEBFE420069E0F8 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.RemindersTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Reminders.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Reminders";
};
name = Release;
};
CAD001832D874E6F00FA977A /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 18.4;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.SyncUpTests;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -483,7 +598,6 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 18.4;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.SyncUpTests;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -678,7 +792,6 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 18.2;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.CaseStudiesTests;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -695,7 +808,6 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 18.2;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.CaseStudiesTests;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -818,6 +930,15 @@
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
CA5E469C2DEBFE420069E0F8 /* Build configuration list for PBXNativeTarget "RemindersTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
CA5E469D2DEBFE420069E0F8 /* Debug */,
CA5E469E2DEBFE420069E0F8 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
CAD001852D874E6F00FA977A /* Build configuration list for PBXNativeTarget "SyncUpTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
Expand Down Expand Up @@ -875,6 +996,14 @@
/* End XCConfigurationList section */

/* Begin XCRemoteSwiftPackageReference section */
CA5E47052DECEF0F0069E0F8 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/pointfreeco/swift-snapshot-testing.git";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 1.18.4;
};
};
DC5FA7462D4C63D60082743E /* XCRemoteSwiftPackageReference "swift-dependencies" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/pointfreeco/swift-dependencies";
Expand Down Expand Up @@ -912,6 +1041,26 @@
package = DCF267372D48437300B680BE /* XCRemoteSwiftPackageReference "swift-navigation" */;
productName = UIKitNavigation;
};
CA5E46902DEBB8570069E0F8 /* SwiftUINavigation */ = {
isa = XCSwiftPackageProductDependency;
package = DCF267372D48437300B680BE /* XCRemoteSwiftPackageReference "swift-navigation" */;
productName = SwiftUINavigation;
};
CA5E47062DECEF0F0069E0F8 /* InlineSnapshotTesting */ = {
isa = XCSwiftPackageProductDependency;
package = CA5E47052DECEF0F0069E0F8 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */;
productName = InlineSnapshotTesting;
};
CA5E47082DECEFC80069E0F8 /* SnapshotTestingCustomDump */ = {
isa = XCSwiftPackageProductDependency;
package = CA5E47052DECEF0F0069E0F8 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */;
productName = SnapshotTestingCustomDump;
};
CA5E470A2DECF0280069E0F8 /* DependenciesTestSupport */ = {
isa = XCSwiftPackageProductDependency;
package = DC5FA7462D4C63D60082743E /* XCRemoteSwiftPackageReference "swift-dependencies" */;
productName = DependenciesTestSupport;
};
CAD001862D874F1F00FA977A /* DependenciesTestSupport */ = {
isa = XCSwiftPackageProductDependency;
package = DC5FA7462D4C63D60082743E /* XCRemoteSwiftPackageReference "swift-dependencies" */;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "CAF836E62D4735AD0047AEB5"
BlueprintIdentifier = "CA5E46952DEBFE410069E0F8"
BuildableName = "RemindersTests.xctest"
BlueprintName = "RemindersTests"
ReferencedContainer = "container:Examples.xcodeproj">
Expand Down
Loading