Skip to content

Commit

Permalink
Bump deployment targets, remove old versions from CI (#510)
Browse files Browse the repository at this point in the history
  • Loading branch information
DivineDominion committed Oct 18, 2023
1 parent a5a6ad2 commit 3d2b9e3
Show file tree
Hide file tree
Showing 10 changed files with 193 additions and 120 deletions.
78 changes: 27 additions & 51 deletions .github/workflows/test.yml
Expand Up @@ -11,38 +11,37 @@ on:
jobs:

swiftpm:
runs-on: macos-11
runs-on: macos-12

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

- name: Select Xcode
uses: devbotsxyz/xcode-select@v1.1.0
uses: MobileDevOps/xcode-select-version-action@v1.0.0
with:
version: "13.2.1"
xcode-select-version: "14.2"

- name: SwiftPM Test
run: swift test

pod-lint:
runs-on: macos-11
runs-on: macos-12

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

- name: Select Xcode
uses: devbotsxyz/xcode-select@v1.1.0
uses: MobileDevOps/xcode-select-version-action@v1.0.0
with:
version: "13.2.1"
xcode-select-version: "14.2"

- name: Pod Lint
run: pod lib lint --verbose --allow-warnings

test:
runs-on: macos-11
timeout-minutes: 10
runs-on: macos-12

env:
LC_CTYPE: en_US.UTF-8
Expand All @@ -55,80 +54,57 @@ jobs:

# Latest MacOS Build, with Codecov
- scheme: macOS
xcode: "13.2.1"
sdk: "macosx12.1"
xcode: "14.2"
sdk: "macosx13.1"
destination: "platform=macOS"
swift_version: "5.5"
swift_version: "5.7"
action: test
update_codecov: true

# Latest iOS Build
- scheme: iOS
xcode: "13.2.1"
xcode: "14.2"
sdk: "iphonesimulator"
destination: "platform=iOS Simulator,OS=15.2,name=iPhone 12 Pro Max"
swift_version: "5.5"
destination: "OS=16.2,name=iPhone 13 Pro Max"
swift_version: "5.7"
action: test
update_codecov: false

# Latest watchOS Build
- scheme: watchOS
xcode: "13.2.1"
xcode: "14.2"
sdk: "watchsimulator"
destination: "OS=8.3,name=Apple Watch Series 6 - 44mm"
swift_version: "5.5"
destination: "OS=9.1,name=Apple Watch Series 8 (45mm)"
swift_version: "5.7"
action: build
update_codecov: false

# Latest tvOS Build
- scheme: tvOS
xcode: "13.2.1"
xcode: "14.2"
sdk: "appletvsimulator"
destination: "OS=15.2,name=Apple TV 4K"
swift_version: "5.5"
destination: "OS=16.1,name=Apple TV 4K (at 1080p) (2nd generation)"
swift_version: "5.7"
action: test

# Swift 5.2 for backwards compatibility
- scheme: macOS
xcode: "11.7"
sdk: "macosx10.15"
destination: "platform=macOS"
swift_version: "5.2"
action: test
update_codecov: true

steps:

- name: Checkout
uses: actions/checkout@v2

- name: Select Xcode
uses: devbotsxyz/xcode-select@v1.1.0
uses: MobileDevOps/xcode-select-version-action@v1.0.0
with:
version: "${{ matrix.xcode }}"
xcode-select-version: "${{ matrix.xcode }}"

- name: Build and Test
run: |
xcodebuild ${{ matrix.action }} \
xcodebuild \
ONLY_ACTIVE_ARCH=YES \
SWIFT_VERSION=${{ matrix.SWIFT_VERSION }} \
-configuration Debug \
-project "${{ env.FRAMEWORK_NAME }}.xcodeproj" \
-scheme "${{ env.FRAMEWORK_NAME }}-${{ matrix.scheme }}" \
-sdk "${{ matrix.sdk }}" \
-destination "${{ matrix.destination }}" \
-configuration Debug \
ONLY_ACTIVE_ARCH=YES \
GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES \
GCC_GENERATE_TEST_COVERAGE_FILES=YES \
SWIFT_VERSION=${{ matrix.SWIFT_VERSION }}
- name: Convert code coverage
if: matrix.update_codecov == true
uses: sersoft-gmbh/xcode-coverage-action@v1.0.0
id: xcode-cov

- name: Codecov
if: matrix.update_codecov == true
uses: codecov/codecov-action@v2
with:
files: ${{join(fromJSON(steps.xcode-cov.outputs.files), ',')}}
fail_ci_if_error: true
verbose: true
${{ matrix.action }}
5 changes: 5 additions & 0 deletions CHANGELOG.md
Expand Up @@ -6,6 +6,11 @@

**Other:**

# 6.2.0

**Other:**
- Removed old deployment targets and support for Swift versions prior to 5.5. Version 6.2 and newer now require macOS 10.13, iOS 12, tvOS 12, watchOS 4. (#509) -- @DivineDominion

# 6.1.1

*Released: 2023-01-06*
Expand Down
9 changes: 7 additions & 2 deletions Package.swift
@@ -1,9 +1,14 @@
// swift-tools-version:4.2
// swift-tools-version: 5.7
import PackageDescription

let package = Package(
name: "ReSwift",
// platforms: [.iOS("8.0"), .macOS("10.10"), tvOS("9.0"), .watchOS("2.0")],
platforms: [
.macOS(.v10_13),
.iOS(.v12),
.tvOS(.v12),
.watchOS(.v4)
],
products: [
.library(name: "ReSwift", targets: ["ReSwift"])
],
Expand Down
17 changes: 0 additions & 17 deletions Package@swift-5.0.swift

This file was deleted.

12 changes: 6 additions & 6 deletions ReSwift.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "ReSwift"
s.version = "6.1.1"
s.version = "6.2.0"
s.summary = "Unidirectional Data Flow in Swift"
s.description = <<-DESC
ReSwift is a Redux-like implementation of the unidirectional data flow architecture in Swift.
Expand All @@ -21,12 +21,12 @@ Pod::Spec.new do |s|
:tag => s.version.to_s
}

s.ios.deployment_target = '8.0'
s.osx.deployment_target = '10.10'
s.tvos.deployment_target = '9.0'
s.watchos.deployment_target = '2.0'
s.ios.deployment_target = '12.0'
s.osx.deployment_target = '10.13'
s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '4.0'

s.requires_arc = true
s.source_files = 'ReSwift/**/*.swift'
s.swift_versions = [ "5.7", "5.6", "5.5", "5.4", "5.3", "5.2", "5.0", "4.2" ]
s.swift_versions = [ "5.9", "5.8", "5.7", "5.6", "5.5" ]
end

0 comments on commit 3d2b9e3

Please sign in to comment.