Skip to content

Commit 4bb00b6

Browse files
authored
Changes to support Xcode 16, and prep for Release 7.2.0 (#884)
* Fix minor issues in Tests for Xcode 15.x * Update CI to use Xcode 15.2 and most recent GH action modules. Update podspec to declare support for Swift 5.8 and 5.9 * Update Quick and Nimble to latest versions. * Update Xcode schemes and minimum OS targets. * Update iPhone device for testing. * Updated CHANGELOG and podspec. * Bump version in podspec in preparation for next release 7.2.0 * Changes to support Xcode 16 * Update iOS and watchOS test run destinations. * Move deployment targets to Project settings instead of Target settings.
1 parent f4f3d4d commit 4bb00b6

33 files changed

+127
-123
lines changed

.github/workflows/master.yml

+13-16
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,19 @@ on:
1111
- master
1212

1313
env:
14-
# Keep using Xcode 13 until CP releases the fix for watchOS verification on Xcode 14
15-
# https://github.com/CocoaPods/CocoaPods/issues/11558
16-
# https://github.com/CocoaPods/CocoaPods/pull/11660
17-
DEVELOPER_DIR: /Applications/Xcode_13.4.1.app/Contents/Developer
14+
DEVELOPER_DIR: /Applications/Xcode_16.0.app/Contents/Developer
1815

1916
name: Verification | Release
2017
jobs:
2118
carthage:
2219
if: ${{ github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.label.name == 'ci:verify' ) }}
2320
name: Carthage Verification
24-
runs-on: macos-12
21+
runs-on: macos-15
2522
steps:
2623
- name: Checkout
27-
uses: actions/checkout@v2
24+
uses: actions/checkout@v4
2825
- name: Recover cached dependencies
29-
uses: actions/cache@v1
26+
uses: actions/cache@v4
3027
id: dependency-cache
3128
with:
3229
path: ~/Library/Caches/org.carthage.CarthageKit
@@ -39,10 +36,10 @@ jobs:
3936
swiftpm-macos:
4037
if: ${{ github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.label.name == 'ci:verify' ) }}
4138
name: SwiftPM macOS Verification
42-
runs-on: macos-12
39+
runs-on: macos-15
4340
steps:
4441
- name: Checkout
45-
uses: actions/checkout@v2
42+
uses: actions/checkout@v4
4643
- name: Pull dependencies
4744
run: |
4845
swift package resolve
@@ -54,10 +51,10 @@ jobs:
5451
cocoapods:
5552
if: ${{ github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.label.name == 'ci:verify' ) }}
5653
name: CocoaPods Verification
57-
runs-on: macos-12
54+
runs-on: macos-15
5855
steps:
5956
- name: Checkout
60-
uses: actions/checkout@v2
57+
uses: actions/checkout@v4
6158
- name: CocoaPods verification
6259
run: |
6360
pod repo update
@@ -66,22 +63,22 @@ jobs:
6663
release-github:
6764
if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }}
6865
name: GitHub Release
69-
runs-on: macos-12
66+
runs-on: macos-15
7067
needs: [swiftpm-macos, cocoapods, carthage]
7168
steps:
7269
- name: git checkout
73-
uses: actions/checkout@v2
70+
uses: actions/checkout@v4
7471
- name: create release
75-
uses: softprops/action-gh-release@v1
72+
uses: softprops/action-gh-release@v2
7673

7774
release-cocoapods:
7875
if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }}
7976
name: CocoaPods Release
80-
runs-on: macos-12
77+
runs-on: macos-15
8178
needs: [swiftpm-macos, cocoapods, carthage]
8279
steps:
8380
- name: git checkout
84-
uses: actions/checkout@v2
81+
uses: actions/checkout@v4
8582
- name: pod trunk push
8683
env:
8784
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}

.github/workflows/test.yml

+9-9
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@ name: Test
33
jobs:
44
test:
55
name: Test
6-
runs-on: macos-12
6+
runs-on: macos-15
77
strategy:
88
fail-fast: false
99
matrix:
1010
destination: [macOS, iOS, tvOS, watchOS]
1111
env:
12-
DEVELOPER_DIR: /Applications/Xcode_14.1.app/Contents/Developer
12+
DEVELOPER_DIR: /Applications/Xcode_16.0.app/Contents/Developer
1313
steps:
1414
- name: Checkout
15-
uses: actions/checkout@v2
15+
uses: actions/checkout@v4
1616
- name: Recover cached dependencies
17-
uses: actions/cache@v1
17+
uses: actions/cache@v4
1818
id: dependency-cache
1919
with:
2020
path: Carthage/Checkouts
@@ -31,7 +31,7 @@ jobs:
3131
3232
case "${{ matrix.destination }}" in
3333
"iOS")
34-
DESTINATION="platform=iOS Simulator,name=iPhone 11 Pro"
34+
DESTINATION="platform=iOS Simulator,name=iPhone 16"
3535
SCHEME=ReactiveSwift-iOS
3636
;;
3737
"tvOS")
@@ -40,7 +40,7 @@ jobs:
4040
;;
4141
"watchOS")
4242
ACTION=build
43-
DESTINATION="platform=watchOS Simulator,name=Apple Watch Series 5 (44mm)"
43+
DESTINATION="platform=watchOS Simulator,name=Apple Watch Series 10 (46mm)"
4444
SCHEME=ReactiveSwift-watchOS
4545
;;
4646
"macCatalyst")
@@ -68,17 +68,17 @@ jobs:
6868
swiftpm-linux:
6969
strategy:
7070
matrix:
71-
swift: ["5.7"]
71+
swift: ["5.9"]
7272

7373
name: SwiftPM Linux
7474
runs-on: ubuntu-22.04
7575
steps:
7676
- name: Setup Swift version
77-
uses: swift-actions/setup-swift@v1
77+
uses: swift-actions/setup-swift@v2
7878
with:
7979
swift-version: ${{ matrix.swift }}
8080
- name: Checkout
81-
uses: actions/checkout@v2
81+
uses: actions/checkout@v4
8282
- name: Pull dependencies
8383
run: |
8484
swift package resolve

CHANGELOG.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# master
22
*Please add new entries at the top.*
33

4-
1. Change `QueueScheduler` to use unspecified QoS when QoS parameter is defaulted
5-
1. Add support for VisionOS (#875, kudos to @NachoSoto)
6-
1. Fix minimum deployment target of iOS 11 in CocoaPods
4+
1. Change `QueueScheduler` to use unspecified QoS when QoS parameter is defaulted (#880, kudos to @jamieQ)
5+
1. Add support for visionOS (#875, kudos to @NachoSoto)
76
1. Fix CI release git tag push trigger (#869, kudos to @p4checo)
8-
1. Find and remove items from Bag using a binary search to improve performance when the collection gets large.
9-
2. Add extension to `ScopedDisposable` for inner `SerialDisposable` (#873, kudos to @sirnacnud)
7+
1. Find and remove items from Bag using a binary search to improve performance when the collection gets large (#878, kudos to @nickoto)
8+
1. Add extension to `ScopedDisposable` for inner `SerialDisposable` (#873, kudos to @sirnacnud)
9+
1. Updated project settings for Xcode 16, bumped min deployment targets to iOS 12, macOS 10.13, tvOS 12, watchOS 4, visionOS 1.0 (#883, kudos to @mluisbrown)
1010

1111
# 7.1.1
1212
1. Bumped deployment target to iOS 11, tvOS 11, watchOS 4, macOS 10.13, per Xcode 14 warnings (#865, kudos to @lickel)

Cartfile.private

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
github "xcconfigs/xcconfigs" ~> 1.1
2-
github "Quick/Quick" ~> 4.0.0
3-
github "Quick/Nimble" ~> 9.0.0
2+
github "Quick/Quick" ~> 7.0.0
3+
github "Quick/Nimble" ~> 13.0.0

Cartfile.resolved

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
github "Quick/Nimble" "v9.2.1"
2-
github "Quick/Quick" "v4.0.0"
1+
github "Quick/Nimble" "v13.2.1"
2+
github "Quick/Quick" "v7.4.1"
33
github "xcconfigs/xcconfigs" "1.1"

Carthage/Checkouts/Nimble

Submodule Nimble updated 388 files

Carthage/Checkouts/Quick

Submodule Quick updated 226 files

Package.resolved

+8-8
Original file line numberDiff line numberDiff line change
@@ -6,35 +6,35 @@
66
"repositoryURL": "https://github.com/mattgallagher/CwlCatchException.git",
77
"state": {
88
"branch": null,
9-
"revision": "682841464136f8c66e04afe5dbd01ab51a3a56f2",
10-
"version": "2.1.0"
9+
"revision": "3ef6999c73b6938cc0da422f2c912d0158abb0a0",
10+
"version": "2.2.0"
1111
}
1212
},
1313
{
1414
"package": "CwlPreconditionTesting",
1515
"repositoryURL": "https://github.com/mattgallagher/CwlPreconditionTesting.git",
1616
"state": {
1717
"branch": null,
18-
"revision": "02b7a39a99c4da27abe03cab2053a9034379639f",
19-
"version": "2.0.0"
18+
"revision": "2ef56b2caf25f55fa7eef8784c30d5a767550f54",
19+
"version": "2.2.1"
2020
}
2121
},
2222
{
2323
"package": "Nimble",
2424
"repositoryURL": "https://github.com/Quick/Nimble.git",
2525
"state": {
2626
"branch": null,
27-
"revision": "af1730dde4e6c0d45bf01b99f8a41713ce536790",
28-
"version": "9.2.0"
27+
"revision": "efe11bbca024b57115260709b5c05e01131470d0",
28+
"version": "13.2.1"
2929
}
3030
},
3131
{
3232
"package": "Quick",
3333
"repositoryURL": "https://github.com/Quick/Quick.git",
3434
"state": {
3535
"branch": null,
36-
"revision": "bd86ca0141e3cfb333546de5a11ede63f0c4a0e6",
37-
"version": "4.0.0"
36+
"revision": "6d01974d236f598633cac58280372c0c8cfea5bc",
37+
"version": "7.4.1"
3838
}
3939
}
4040
]

Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ let package = Package(
1010
.library(name: "ReactiveSwift", targets: ["ReactiveSwift"]),
1111
],
1212
dependencies: [
13-
.package(url: "https://github.com/Quick/Quick.git", from: "4.0.0"),
14-
.package(url: "https://github.com/Quick/Nimble.git", from: "9.0.0"),
13+
.package(url: "https://github.com/Quick/Quick.git", from: "7.0.0"),
14+
.package(url: "https://github.com/Quick/Nimble.git", from: "13.0.0"),
1515
],
1616
targets: [
1717
.target(name: "ReactiveSwift", dependencies: [], path: "Sources"),

ReactiveSwift.podspec

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Pod::Spec.new do |s|
22
s.name = "ReactiveSwift"
33
# Version goes here and will be used to access the git tag later on, once we have a first release.
4-
s.version = "7.1.1"
4+
s.version = "7.2.0"
55
s.summary = "Streams of values over time"
66
s.description = <<-DESC
77
ReactiveSwift is a Swift framework inspired by Functional Reactive Programming. It provides APIs for composing and transforming streams of values over time.
@@ -10,10 +10,10 @@ Pod::Spec.new do |s|
1010
s.license = { :type => "MIT", :file => "LICENSE.md" }
1111
s.author = "ReactiveCocoa"
1212

13-
s.ios.deployment_target = "11.0"
13+
s.ios.deployment_target = "12.0"
1414
s.osx.deployment_target = "10.13"
1515
s.watchos.deployment_target = "4.0"
16-
s.tvos.deployment_target = "11.0"
16+
s.tvos.deployment_target = "12.0"
1717

1818
s.source = { :git => "https://github.com/ReactiveCocoa/ReactiveSwift.git", :tag => "#{s.version}" }
1919
# Directory glob for all Swift files
@@ -25,5 +25,5 @@ Pod::Spec.new do |s|
2525
}
2626

2727
s.cocoapods_version = ">= 1.7.0"
28-
s.swift_versions = ["5.2", "5.3" "5.4", "5.5", "5.6", "5.7"]
28+
s.swift_versions = ["5.2", "5.3" "5.4", "5.5", "5.6", "5.7", "5.8", "5.9"]
2929
end

ReactiveSwift.xcodeproj/project.pbxproj

+16-20
Original file line numberDiff line numberDiff line change
@@ -1705,16 +1705,16 @@
17051705
CODE_SIGNING_REQUIRED = NO;
17061706
CURRENT_PROJECT_VERSION = 1;
17071707
ENABLE_TESTABILITY = YES;
1708-
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
1709-
MACOSX_DEPLOYMENT_TARGET = 10.12;
1708+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
1709+
MACOSX_DEPLOYMENT_TARGET = 10.13;
17101710
PRODUCT_BUNDLE_IDENTIFIER = "org.reactivecocoa.$(PRODUCT_NAME:rfc1034identifier)";
17111711
PRODUCT_NAME = "$(PROJECT_NAME)";
17121712
SWIFT_TREAT_WARNINGS_AS_ERRORS = NO;
17131713
SWIFT_VERSION = 5.2;
1714-
TVOS_DEPLOYMENT_TARGET = 10.0;
1714+
TVOS_DEPLOYMENT_TARGET = 12.0;
17151715
VERSIONING_SYSTEM = "apple-generic";
17161716
VERSION_INFO_PREFIX = "";
1717-
WATCHOS_DEPLOYMENT_TARGET = 3.0;
1717+
WATCHOS_DEPLOYMENT_TARGET = 4.0;
17181718
XROS_DEPLOYMENT_TARGET = 1.0;
17191719
};
17201720
name = Debug;
@@ -1726,16 +1726,16 @@
17261726
BITCODE_GENERATION_MODE = bitcode;
17271727
CODE_SIGNING_REQUIRED = NO;
17281728
CURRENT_PROJECT_VERSION = 1;
1729-
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
1730-
MACOSX_DEPLOYMENT_TARGET = 10.12;
1729+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
1730+
MACOSX_DEPLOYMENT_TARGET = 10.13;
17311731
PRODUCT_BUNDLE_IDENTIFIER = "org.reactivecocoa.$(PRODUCT_NAME:rfc1034identifier)";
17321732
PRODUCT_NAME = "$(PROJECT_NAME)";
17331733
SWIFT_TREAT_WARNINGS_AS_ERRORS = NO;
17341734
SWIFT_VERSION = 5.2;
1735-
TVOS_DEPLOYMENT_TARGET = 10.0;
1735+
TVOS_DEPLOYMENT_TARGET = 12.0;
17361736
VERSIONING_SYSTEM = "apple-generic";
17371737
VERSION_INFO_PREFIX = "";
1738-
WATCHOS_DEPLOYMENT_TARGET = 3.0;
1738+
WATCHOS_DEPLOYMENT_TARGET = 4.0;
17391739
XROS_DEPLOYMENT_TARGET = 1.0;
17401740
};
17411741
name = Release;
@@ -1769,7 +1769,6 @@
17691769
baseConfigurationReference = E6124BA9267DF505005A3490 /* macOS-XCTest.xcconfig */;
17701770
buildSettings = {
17711771
INFOPLIST_FILE = Tests/ReactiveSwiftTests/Info.plist;
1772-
MACOSX_DEPLOYMENT_TARGET = 10.12;
17731772
PRODUCT_NAME = "$(PROJECT_NAME)Tests";
17741773
};
17751774
name = Debug;
@@ -1779,7 +1778,6 @@
17791778
baseConfigurationReference = E6124BA9267DF505005A3490 /* macOS-XCTest.xcconfig */;
17801779
buildSettings = {
17811780
INFOPLIST_FILE = Tests/ReactiveSwiftTests/Info.plist;
1782-
MACOSX_DEPLOYMENT_TARGET = 10.12;
17831781
PRODUCT_NAME = "$(PROJECT_NAME)Tests";
17841782
};
17851783
name = Release;
@@ -1829,16 +1827,16 @@
18291827
BITCODE_GENERATION_MODE = bitcode;
18301828
CODE_SIGNING_REQUIRED = NO;
18311829
CURRENT_PROJECT_VERSION = 1;
1832-
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
1833-
MACOSX_DEPLOYMENT_TARGET = 10.12;
1830+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
1831+
MACOSX_DEPLOYMENT_TARGET = 10.13;
18341832
PRODUCT_BUNDLE_IDENTIFIER = "org.reactivecocoa.$(PRODUCT_NAME:rfc1034identifier)";
18351833
PRODUCT_NAME = "$(PROJECT_NAME)";
18361834
SWIFT_TREAT_WARNINGS_AS_ERRORS = NO;
18371835
SWIFT_VERSION = 5.2;
1838-
TVOS_DEPLOYMENT_TARGET = 10.0;
1836+
TVOS_DEPLOYMENT_TARGET = 12.0;
18391837
VERSIONING_SYSTEM = "apple-generic";
18401838
VERSION_INFO_PREFIX = "";
1841-
WATCHOS_DEPLOYMENT_TARGET = 3.0;
1839+
WATCHOS_DEPLOYMENT_TARGET = 4.0;
18421840
XROS_DEPLOYMENT_TARGET = 1.0;
18431841
};
18441842
name = Profile;
@@ -1860,7 +1858,6 @@
18601858
baseConfigurationReference = E6124BA9267DF505005A3490 /* macOS-XCTest.xcconfig */;
18611859
buildSettings = {
18621860
INFOPLIST_FILE = Tests/ReactiveSwiftTests/Info.plist;
1863-
MACOSX_DEPLOYMENT_TARGET = 10.10;
18641861
PRODUCT_NAME = "$(PROJECT_NAME)Tests";
18651862
};
18661863
name = Profile;
@@ -1891,16 +1888,16 @@
18911888
BITCODE_GENERATION_MODE = bitcode;
18921889
CODE_SIGNING_REQUIRED = NO;
18931890
CURRENT_PROJECT_VERSION = 1;
1894-
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
1895-
MACOSX_DEPLOYMENT_TARGET = 10.12;
1891+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
1892+
MACOSX_DEPLOYMENT_TARGET = 10.13;
18961893
PRODUCT_BUNDLE_IDENTIFIER = "org.reactivecocoa.$(PRODUCT_NAME:rfc1034identifier)-Tests";
18971894
PRODUCT_NAME = "$(PROJECT_NAME)";
18981895
SWIFT_TREAT_WARNINGS_AS_ERRORS = NO;
18991896
SWIFT_VERSION = 5.2;
1900-
TVOS_DEPLOYMENT_TARGET = 10.0;
1897+
TVOS_DEPLOYMENT_TARGET = 12.0;
19011898
VERSIONING_SYSTEM = "apple-generic";
19021899
VERSION_INFO_PREFIX = "";
1903-
WATCHOS_DEPLOYMENT_TARGET = 3.0;
1900+
WATCHOS_DEPLOYMENT_TARGET = 4.0;
19041901
XROS_DEPLOYMENT_TARGET = 1.0;
19051902
};
19061903
name = Test;
@@ -1922,7 +1919,6 @@
19221919
baseConfigurationReference = E6124BA9267DF505005A3490 /* macOS-XCTest.xcconfig */;
19231920
buildSettings = {
19241921
INFOPLIST_FILE = Tests/ReactiveSwiftTests/Info.plist;
1925-
MACOSX_DEPLOYMENT_TARGET = 10.10;
19261922
PRODUCT_NAME = "$(PROJECT_NAME)Tests";
19271923
};
19281924
name = Test;

0 commit comments

Comments
 (0)