Skip to content

Commit

Permalink
Drop Carthage and build using Swift Package Manager (close #735)
Browse files Browse the repository at this point in the history
PR #737
  • Loading branch information
matus-tomlein committed Dec 21, 2022
1 parent 16202dc commit 0cb138b
Show file tree
Hide file tree
Showing 37 changed files with 198 additions and 4,164 deletions.
98 changes: 70 additions & 28 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,72 @@ name: Build
on: [push]

jobs:
test_framework:
name: "Framework (iOS ${{ matrix.version.ios }})"
runs-on: macos-${{ matrix.version.macos }}
env:
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.version.xcode }}.app/Contents/Developer

podspec:
name: Lint Podspec for ${{ matrix.platform }}
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
version:
- {ios: 15.5, iphone: iPhone 12 Pro, watchos: 8.5, watch: Apple Watch Series 5 - 44mm, macos: '12', xcode: 13.4}
- {ios: 14.4, iphone: iPhone 8, watchos: 7.2, watch: Apple Watch Series 4 - 40mm, macos: '11', xcode: 12.4}
platform: [ios, osx, tvos, watchos]
steps:
- uses: actions/checkout@v3
- name: Lint Podspec
run: pod lib lint --platforms=${{ matrix.platform }}

test_framework:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- name: "xcodebuild (iOS 14.0, Xcode 12.0.1)"
os: macos-10.15
xcode-version: "12"
sdk: iphonesimulator14.0
destination: "platform=iOS Simulator,OS=14.0,name=iPhone 11"
- name: "xcodebuild (iOS 15.2, Xcode 13.2.1)"
os: macos-11
xcode-version: "13.2.1"
sdk: iphonesimulator15.2
destination: "platform=iOS Simulator,OS=15.2,name=iPhone 13"
- name: "xcodebuild (macOS 10.15, Xcode 12.0.1)"
os: macos-10.15
xcode-version: "12"
sdk: macosx10.15
destination: "platform=OS X"
- name: "xcodebuild (macOS 12.1, Xcode 13.2.1)"
os: macos-11
xcode-version: "13.2.1"
sdk: macosx12.1
destination: "platform=OS X"
- name: "xcodebuild (watchOS 8.3, Xcode 13.2.1)"
os: macos-11
xcode-version: "13.2.1"
sdk: watchos8.3
destination: "platform=watchOS Simulator,OS=8.3,name=Apple Watch Series 7 - 45mm"
- name: "xcodebuild (tvOS 14.0, Xcode 12.0.1)"
os: macos-10.15
xcode-version: "12"
sdk: appletvsimulator14.0
destination: "platform=tvOS Simulator,OS=14.0,name=Apple TV"
- name: "xcodebuild (tvOS 15.2, Xcode 13.2.1)"
os: macos-11
xcode-version: "13.2.1"
sdk: appletvsimulator15.2
destination: "platform=tvOS Simulator,OS=15.2,name=Apple TV"
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Test
env:
IOS: ${{ matrix.version.ios }}
WATCHOS: ${{ matrix.version.watchos }}
IPHONE: ${{ matrix.version.iphone }}
WATCH: ${{ matrix.version.watch }}
- name: Select Xcode Version
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer

- name: Build & Test
run: |
. .scripts/setup.sh
.scripts/test_framework.sh "${BUILD_PROJECT_LIB}" "${BUILD_DEST_IOS}" "${BUILD_SCHEME_LIB_IOS}" "${BUILD_DEST_WATCH}" "${BUILD_SCHEME_LIB_WATCH}"
xcodebuild \
-scheme SnowplowTracker \
-sdk "${{ matrix.sdk }}" \
-destination "${{ matrix.destination }}" \
clean test | xcpretty
build_objc_demo_app:
name: "ObjC demo (iOS ${{ matrix.version.ios }})"
Expand All @@ -46,17 +86,18 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Get example branch name
id: example_branch
run: |
DEMO_BRANCH=$(cat .scripts/demo_apps_branch_name)
echo ::set-output name=name::${DEMO_BRANCH}
- name: Checkout demo app
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
repository: snowplow-incubator/snowplow-swift-ios-tracker-examples
repository: snowplow-incubator/snowplow-objc-tracker-examples
ref: ${{ steps.example_branch.outputs.name }}
path: examples

Expand Down Expand Up @@ -86,17 +127,18 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Get example branch name
id: example_branch
run: |
DEMO_BRANCH=$(cat .scripts/demo_apps_branch_name)
echo ::set-output name=name::${DEMO_BRANCH}
- name: Checkout demo app
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
repository: snowplow-incubator/snowplow-swift-ios-tracker-examples
repository: snowplow-incubator/snowplow-objc-tracker-examples
ref: ${{ steps.example_branch.outputs.name }}
path: examples

Expand Down Expand Up @@ -126,7 +168,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Get example branch name
id: example_branch
Expand All @@ -150,9 +192,9 @@ jobs:
echo ::set-output name=name::${GIT_BRANCH}
- name: Checkout demo app
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
repository: snowplow-incubator/snowplow-swift-ios-tracker-examples
repository: snowplow-incubator/snowplow-objc-tracker-examples
ref: ${{ steps.example_branch.outputs.name }}
path: examples

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/snyk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Checkout demo app
uses: actions/checkout@v2
with:
repository: snowplow-incubator/snowplow-swift-ios-tracker-examples
repository: snowplow-incubator/snowplow-objc-tracker-examples
path: examples

- name: Run Snyk to check for vulnerabilities in tracker
Expand Down
24 changes: 0 additions & 24 deletions .scripts/carthage-workaround.sh

This file was deleted.

2 changes: 1 addition & 1 deletion .scripts/demo_apps_branch_name
Original file line number Diff line number Diff line change
@@ -1 +1 @@
main
swift
27 changes: 0 additions & 27 deletions .scripts/setup.sh

This file was deleted.

18 changes: 0 additions & 18 deletions .scripts/test_framework.sh

This file was deleted.

2 changes: 0 additions & 2 deletions Cartfile

This file was deleted.

5 changes: 0 additions & 5 deletions Cartfile.private

This file was deleted.

4 changes: 0 additions & 4 deletions Cartfile.resolved

This file was deleted.

9 changes: 9 additions & 0 deletions Package.resolved
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@
"revision": "61e51fde7f7aab6554f30ab061cc588b28a97d04",
"version": "2.7.7"
}
},
{
"package": "Mocker",
"repositoryURL": "https://github.com/WeTransfer/Mocker.git",
"state": {
"branch": null,
"revision": "5d86f27a8f80d4ba388bc1a379a3c2289a1f3d18",
"version": "2.6.0"
}
}
]
},
Expand Down
12 changes: 8 additions & 4 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,17 @@ let package = Package(
platforms: [
.macOS("10.13"),
.iOS("11.0"),
.tvOS("11.0"),
.watchOS("4.0")
.tvOS("12.0"),
.watchOS("6.0")
],
products: [
.library(
name: "SnowplowTracker",
targets: ["SnowplowTracker"]),
],
dependencies: [
.package(name: "FMDB", url: "https://github.com/ccgus/fmdb", from: "2.7.6")
.package(name: "FMDB", url: "https://github.com/ccgus/fmdb", from: "2.7.6"),
.package(name: "Mocker", url: "https://github.com/WeTransfer/Mocker.git", from: "2.5.4"),
],
targets: [
.target(
Expand All @@ -25,7 +26,10 @@ let package = Package(
path: "./Sources"),
.testTarget(
name: "Tests",
dependencies: ["SnowplowTracker"],
dependencies: [
"SnowplowTracker",
"Mocker"
],
path: "Tests")
]
)
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ With this tracker you can collect event data from your applications, games or fr

### Demo apps using the Snowplow iOS Tracker

Some examples of demo apps instrumented with our iOS Tracker can be found in the [snowplow-swift-ios-tracker-examples](https://github.com/snowplow-incubator/snowplow-swift-ios-tracker-examples) repository.
Some examples of demo apps instrumented with our iOS Tracker can be found in the [snowplow-objc-tracker-examples](https://github.com/snowplow-incubator/snowplow-objc-tracker-examples) repository.

### Instrument the iOS Tracker

Expand Down
22 changes: 0 additions & 22 deletions Snowplow iOS/Info.plist

This file was deleted.

22 changes: 0 additions & 22 deletions Snowplow macOS/Info.plist

This file was deleted.

24 changes: 0 additions & 24 deletions Snowplow watchOS/Info.plist

This file was deleted.

Loading

0 comments on commit 0cb138b

Please sign in to comment.