Skip to content

Commit

Permalink
Release 0.4.0 (#6)
Browse files Browse the repository at this point in the history
## [0.4.0] - 2020-07-13
### Changed
- Converted build system to use a single target to produce a universal framework, rather than separate targets for each platform that share a product name. This is to prevent issues with `xcodebuild` resolving the build scheme to an incorrect platform when building dependent packages with 'Find Implicit Dependencies' enabled. This is due to a bug in `xcodebuild`, for more information see [http://www.openradar.me/20490378](http://www.openradar.me/20490378) and [http://www.openradar.me/22008701](http://www.openradar.me/22008701).
  • Loading branch information
gwhelanLD authored Jul 13, 2020
1 parent 8b45368 commit 6290264
Show file tree
Hide file tree
Showing 8 changed files with 115 additions and 880 deletions.
43 changes: 35 additions & 8 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
version: 2.1
jobs:
# TODO (gwhelanld): Consider adding linux CI job for swiftpm linux build/test
build:
shell: /bin/bash --login -eo pipefail

Expand All @@ -15,21 +16,47 @@ jobs:
mkdir -p 'test-results'
mkdir -p 'artifacts'
# TODO (gwhelanld): Consider adding additional build tests for different device architectures

- run:
name: Build & Test on macOS Simulator
command: xcodebuild test -scheme 'LDSwiftEventSource' -sdk macosx -destination 'platform=macOS' | tee 'artifacts/raw-logs-macosx.txt' | xcpretty -r junit -o 'test-results/platform-macosx/junit.xml'
when: always

- run:
name: Build Tests for iOS device
command: xcodebuild build-for-testing -scheme 'LDSwiftEventSource' -sdk iphoneos CODE_SIGN_IDENTITY= | tee 'artifacts/raw-logs-iphoneos.txt' | xcpretty
when: always

- run:
name: Build & Test on iOS Simulator
command: xcodebuild test -scheme 'LDSwiftEventSource' -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8,OS=12.2' CODE_SIGN_IDENTITY= | tee 'artifacts/raw-logs-iphonesimulator.txt' | xcpretty -r junit -o 'test-results/platform-iphonesimulator/junit.xml'
when: always

- run:
name: Build Tests for tvOS device
command: xcodebuild build-for-testing -scheme 'LDSwiftEventSource' -sdk appletvos CODE_SIGN_IDENTITY= | tee 'artifacts/raw-logs-appletvos.txt' | xcpretty
when: always

- run:
name: Test macOS
command: xcodebuild test -scheme 'LDSwiftEventSource macOS' -destination 'platform=macOS' | tee 'artifacts/raw-logs-macOS.txt' | xcpretty -r junit -o 'test-results/platform-macOS/junit.xml'
name: Build & Test on tvOS Simulator
command: xcodebuild test -scheme 'LDSwiftEventSource' -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV' | tee 'artifacts/raw-logs-appletvsimulator.txt' | xcpretty -r junit -o 'test-results/platform-appletvsimulator/junit.xml'
when: always

- run:
name: Test iOS
command: xcodebuild test -scheme 'LDSwiftEventSource iOS' -destination 'platform=iOS Simulator,name=iPhone 8,OS=12.2' CODE_SIGN_IDENTITY= | tee 'artifacts/raw-logs-iOS.txt' | xcpretty -r junit -o 'test-results/platform-iOS/junit.xml'
name: Build for watchOS simulator # No XCTest testing on watchOS
command: xcodebuild build -scheme 'LDSwiftEventSource' -sdk watchsimulator | tee 'artifacts/raw-logs-watchsimulator.txt' | xcpretty
when: always

- run:
name: Test tvOS
command: xcodebuild test -scheme 'LDSwiftEventSource tvOS' -destination 'platform=tvOS Simulator,name=Apple TV' | tee 'artifacts/raw-logs-tvOS.txt' | xcpretty -r junit -o 'test-results/platform-tvOS/junit.xml'
name: Build for watchOS device # No XCTest testing on watchOS
command: xcodebuild build -scheme 'LDSwiftEventSource' -sdk watchos | tee 'artifacts/raw-logs-watchos.txt' | xcpretty
when: always

- run:
name: Build watchOS # No unit testing on watchOS
command: xcodebuild build -scheme 'LDSwiftEventSource watchOS' | tee 'artifacts/raw-logs-watchOS.txt' | xcpretty
name: Build & Test with swiftpm
command: swift test -v 2>&1 | tee 'artifacts/raw-logs-swiftpm.txt' | xcpretty -r junit -o 'test-results/swiftpm/junit.xml'
when: always

- store_test_results:
path: test-results
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

All notable changes to the LaunchDarkly Swift EventSource library will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org).

## [0.4.0] - 2020-07-13
### Changed
- Converted build system to use a single target to produce a universal framework, rather than separate targets for each platform that share a product name. This is to prevent issues with `xcodebuild` resolving the build scheme to an incorrect platform when building dependent packages with 'Find Implicit Dependencies' enabled. This is due to a bug in `xcodebuild`, for more information see [http://www.openradar.me/20490378](http://www.openradar.me/20490378) and [http://www.openradar.me/22008701](http://www.openradar.me/22008701).

## [0.3.0] - 2020-06-02
### Added
- Added `stop()` method to shutdown the EventSource connection.
Expand Down
2 changes: 1 addition & 1 deletion LDSwiftEventSource.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "LDSwiftEventSource"
s.version = "0.3.0"
s.version = "0.4.0"
s.summary = "Swift EventSource library"
s.homepage = "https://github.com/launchdarkly/swift-eventsource"
s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE.txt" }
Expand Down
Loading

0 comments on commit 6290264

Please sign in to comment.