Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
da49146
SK-3043 refactor code for common code separation
skyflow-bharti Aug 11, 2026
35e48a1
SK-3043 refactor code for common code separation
skyflow-bharti Aug 13, 2026
e11afc9
SK-3043 refactor code for client
skyflow-bharti Aug 13, 2026
27bcafa
SK-3043 move common validators
skyflow-bharti Aug 14, 2026
70135dc
SK-3043 move common validators
skyflow-bharti Aug 14, 2026
e463ac0
SK-3043 add type for tokens
skyflow-bharti Aug 14, 2026
b5e8228
SK-3043 add type for tokens
skyflow-bharti Aug 14, 2026
300139a
SK-3043 fix tests
skyflow-bharti Aug 14, 2026
8af969a
SK-3043 fix pod lint issue
skyflow-bharti Aug 14, 2026
a283853
SK-3043 update README and samples
skyflow-bharti Aug 17, 2026
8a09bef
SK-3043 remove build folder of samples
skyflow-bharti Aug 17, 2026
1a1feed
SK-3043 add tests in root for both sdk
skyflow-bharti Aug 17, 2026
a452c30
SK-3043 update link in readme for upgrade section
skyflow-bharti Aug 17, 2026
32bf253
SK-3043 add tests for core folder sdk
skyflow-bharti Aug 17, 2026
8efc7f7
SK-3043 update samples
skyflow-bharti Aug 17, 2026
4aa8bd5
SK-3043 update samples
skyflow-bharti Aug 17, 2026
faf30ce
Merge pull request #325 from skyflowapi/SK-3043-multi-package-refacto…
skyflow-bharti Aug 17, 2026
8c13db4
[AUTOMATED] Private Release 1.26.0-beta.1.faf30ce
skyflow-bharti Aug 17, 2026
38e5046
SK-3043 fix the naming conventions
skyflow-bharti Aug 18, 2026
496839b
[AUTOMATED] Private Release 1.26.0-beta.1.38e5046
skyflow-bharti Aug 18, 2026
a30c6a6
SK-3043 update unwrapping issues
skyflow-bharti Aug 19, 2026
275871f
SK-3043 update unwrapping issues
skyflow-bharti Aug 19, 2026
b34a78e
[AUTOMATED] Private Release 1.26.0-beta.1.275871f
skyflow-bharti Aug 19, 2026
601d207
SK-3043 update samples
skyflow-bharti Aug 19, 2026
56dc941
[AUTOMATED] Private Release 1.26.0-beta.1.601d207
skyflow-bharti Aug 19, 2026
6c9239a
SK-3043 update samples in flowvault
skyflow-bharti Aug 19, 2026
43898bd
[AUTOMATED] Private Release 1.26.0-beta.1.6c9239a
skyflow-bharti Aug 19, 2026
da73a56
SK-3043 update readme
skyflow-bharti Aug 19, 2026
b7189e7
[AUTOMATED] Private Release 1.26.0-beta.1.da73a56
skyflow-bharti Aug 19, 2026
2ca9ee2
SK-3043 update samples and code for feedback
skyflow-bharti Aug 24, 2026
bb81f26
SK-3043 update tests
skyflow-bharti Aug 24, 2026
390e66d
[AUTOMATED] Private Release 1.26.0-beta.1.bb81f26
skyflow-bharti Aug 24, 2026
b2a1fe0
SK-3043 update README
skyflow-bharti Aug 24, 2026
05f62ef
[AUTOMATED] Private Release 1.26.0-beta.1.b2a1fe0
skyflow-bharti Aug 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 4 additions & 2 deletions .github/workflows/beta-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ jobs:
- name: Deploy to Cocoapods
run: |
set -eo pipefail
pod lib lint --allow-warnings
pod trunk push --allow-warnings
pod lib lint Skyflow.podspec --allow-warnings
pod lib lint SkyflowFlowVault.podspec --allow-warnings
pod trunk push Skyflow.podspec --allow-warnings
pod trunk push SkyflowFlowVault.podspec --allow-warnings
env:
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
6 changes: 3 additions & 3 deletions .github/workflows/bump_version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
paths-ignore:
- 'Skyflow.podspec'
- '*.md'
- 'Sources/Skyflow/Version.swift'
- 'SkyflowCore/Sources/Version.swift'
branches:
- public-release/*

Expand Down Expand Up @@ -41,7 +41,7 @@ jobs:
run: |
git config user.name ${{ github.actor }}
git config user.email ${{ github.actor }}@users.noreply.github.com
git add Skyflow.podspec
git add Sources/Skyflow/Version.swift
git add Skyflow.podspec SkyflowFlowVault.podspec
git add SkyflowCore/Sources/Version.swift
git commit -m "[AUTOMATED] Public Release ${{ steps.version.outputs.version }}"
git push origin
8 changes: 5 additions & 3 deletions .github/workflows/internal_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ on:
- '*'
paths-ignore:
- 'Skyflow.podspec'
- 'SkyflowFlowVault.podspec'
- '*.md'
- 'Sources/Skyflow/Version.swift'
- 'SkyflowCore/Sources/Version.swift'
branches:
- release/*

Expand Down Expand Up @@ -36,8 +37,8 @@ jobs:
run: |
git config user.name ${{ github.actor }}
git config user.email ${{ github.actor }}@users.noreply.github.com
git add Skyflow.podspec
git add Sources/Skyflow/Version.swift
git add Skyflow.podspec SkyflowFlowVault.podspec
git add SkyflowCore/Sources/Version.swift
git commit -m "[AUTOMATED] Private Release ${{ steps.previoustag.outputs.tag }}.$(git rev-parse --short $GITHUB_SHA)"
git push origin

Expand All @@ -53,4 +54,5 @@ jobs:
run: |
pod repo add private_spec git@github.com:skyflowapi/skyflow-iOS-private-spec.git
pod repo push private_spec ./Skyflow.podspec --allow-warnings
pod repo push private_spec ./SkyflowFlowVault.podspec --allow-warnings
echo "Published as Private pod"
2 changes: 1 addition & 1 deletion .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
xcrun simctl list devices booted

- name: Build and Test
run: xcodebuild clean -workspace .swiftpm/xcode/package.xcworkspace -scheme Skyflow -enableCodeCoverage YES -destination "platform=iOS Simulator,OS=18.6,name=iPhone 16" VAULT_URL="${{ secrets.VAULT_URL }}" TEST_SKYFLOW_ID1="${{ secrets.TEST_SKYFLOW_ID1 }}" TEST_SKYFLOW_ID2="${{ secrets.TEST_SKYFLOW_ID2 }}" TEST_SKYFLOW_ID3="${{ secrets.TEST_SKYFLOW_ID3 }}" TEST_SKYFLOW_ID4="${{ secrets.TEST_SKYFLOW_ID4 }}" VAULT_ID="${{ secrets.VAULT_ID }}" test
run: xcodebuild clean -workspace .swiftpm/xcode/package.xcworkspace -scheme Skyflow-Package -enableCodeCoverage YES -destination "platform=iOS Simulator,OS=18.6,name=iPhone 16" VAULT_URL="${{ secrets.VAULT_URL }}" TEST_SKYFLOW_ID1="${{ secrets.TEST_SKYFLOW_ID1 }}" TEST_SKYFLOW_ID2="${{ secrets.TEST_SKYFLOW_ID2 }}" TEST_SKYFLOW_ID3="${{ secrets.TEST_SKYFLOW_ID3 }}" TEST_SKYFLOW_ID4="${{ secrets.TEST_SKYFLOW_ID4 }}" VAULT_ID="${{ secrets.VAULT_ID }}" test

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ jobs:
- name: Deploy to Cocoapods
run: |
set -eo pipefail
pod lib lint --allow-warnings
pod trunk push --allow-warnings
pod lib lint Skyflow.podspec --allow-warnings
pod lib lint SkyflowFlowVault.podspec --allow-warnings
pod trunk push Skyflow.podspec --allow-warnings
pod trunk push SkyflowFlowVault.podspec --allow-warnings
env:
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@
/*.xcodeproj
xcuserdata/
Skyflow-Local.xcscheme
.claude/
CLAUDE.md
Pods/
71 changes: 57 additions & 14 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,47 +1,90 @@
// swift-tools-version:5.3
// swift-tools-version:5.9
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
name: "Skyflow",
platforms: [
.iOS(.v13)
],
products: [
// Products define the executables and libraries a package produces, and make them visible to other packages.
// PDB vault SDK
.library(
name: "Skyflow",
targets: ["Skyflow"]),
// FlowVault SDK
.library(
name: "SkyflowFlowVault",
targets: ["SkyflowFlowVault"]),
],
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages this package depends on.
.target(
name: "Skyflow",
name: "SkyflowCore",
dependencies: [],
path: "SkyflowCore/Sources",
resources: [
.process("Resources")
]
),
// Legacy (v1) contract layer.
.target(
name: "Skyflow",
dependencies: ["SkyflowCore"],
path: "Skyflow/Sources"
),
// FlowVault (v2) contract layer.
.target(
name: "SkyflowFlowVault",
dependencies: ["SkyflowCore"],
path: "SkyflowFlowVault/Sources"
),
// Tests for the legacy (v1) SDK live under Skyflow/Tests/,
// FlowVault (v2) SDK tests under SkyflowFlowVault/Tests/.
.testTarget(
name: "skyflow-iOS-collectTests",
dependencies: ["Skyflow"]),
dependencies: ["SkyflowFlowVault", "SkyflowCore"],
path: "SkyflowFlowVault/Tests/skyflow-iOS-collectTests"),
.testTarget(name: "skyflow-iOS-revealTests",
dependencies: ["Skyflow"]),
dependencies: ["SkyflowFlowVault", "SkyflowCore"],
path: "SkyflowFlowVault/Tests/skyflow-iOS-revealTests"),
.testTarget(name: "skyflow-iOS-errorTests",
dependencies: ["Skyflow"]),
dependencies: ["SkyflowFlowVault", "SkyflowCore"],
path: "SkyflowFlowVault/Tests/skyflow-iOS-errorTests"),
.testTarget(name: "skyflow-iOS-getByIdTests",
dependencies: ["Skyflow"]),
dependencies: ["Skyflow", "SkyflowCore"],
path: "Skyflow/Tests/skyflow-iOS-getByIdTests"),
.testTarget(name: "skyflow-iOS-elementTests",
dependencies: ["Skyflow"]),
dependencies: ["SkyflowFlowVault", "SkyflowCore"],
path: "SkyflowFlowVault/Tests/skyflow-iOS-elementTests"),
.testTarget(name: "skyflow-iOS-utilTests",
dependencies: ["Skyflow"]),
dependencies: ["SkyflowFlowVault", "SkyflowCore"],
path: "SkyflowFlowVault/Tests/skyflow-iOS-utilTests"),
.testTarget(name: "skyflow-iOS-legacyTests",
dependencies: ["Skyflow", "SkyflowCore"],
path: "Skyflow/Tests/skyflow-iOS-legacyTests"),
.testTarget(name: "skyflow-iOS-scenarioTests",
dependencies: ["Skyflow"]),
dependencies: ["Skyflow", "SkyflowCore"],
path: "Skyflow/Tests/skyflow-iOS-scenarioTests"),
.testTarget(name: "skyflow-iOS-getTests",
dependencies: ["Skyflow"]),
.testTarget(name: "skyflow-iOS-composableTests", dependencies: ["Skyflow"])
dependencies: ["Skyflow", "SkyflowCore"],
path: "Skyflow/Tests/skyflow-iOS-getTests"),
.testTarget(name: "skyflow-iOS-composableTests",
dependencies: ["SkyflowFlowVault", "SkyflowCore"],
path: "SkyflowFlowVault/Tests/skyflow-iOS-composableTests"),
// Dual-SDK coexistence tests: import both products side by side,
// public API only, the way an app installing both pods would.
.testTarget(name: "skyflow-iOS-coexistenceTests",
dependencies: ["Skyflow", "SkyflowFlowVault"],
path: "Tests/skyflow-iOS-coexistenceTests"),
// Shared-core logic tests: depend only on SkyflowCore, so core
// regressions surface here independently of either SDK.
.testTarget(name: "skyflow-iOS-coreTests",
dependencies: ["SkyflowCore"],
path: "SkyflowCore/Tests/skyflow-iOS-coreTests")
]
)
Loading
Loading