Skip to content

Commit 42e02b6

Browse files
authored
Adopt Swift 6. Drop support for Xcode 15 and below (#91)
1 parent 7e054df commit 42e02b6

18 files changed

Lines changed: 126 additions & 536 deletions

.github/workflows/ci.yml

Lines changed: 24 additions & 131 deletions
Original file line numberDiff line numberDiff line change
@@ -9,147 +9,41 @@ on:
99
jobs:
1010
pod-lint:
1111
name: Pod Lint
12-
runs-on: ubuntu-20.04
13-
strategy:
14-
matrix:
15-
swift_version: [
16-
'5.6',
17-
'5.7',
18-
'5.8',
19-
'5.9',
20-
'5.10',
21-
]
22-
fail-fast: false
12+
runs-on: macOS-14
2313
steps:
24-
- uses: ruby/setup-ruby@v1
25-
with:
26-
ruby-version: '3.3.1'
2714
- name: Checkout Repo
2815
uses: actions/checkout@v4
29-
- name: Setup Swift Environment
30-
uses: swift-actions/setup-swift@v2
31-
with:
32-
swift-version: ${{ matrix.swift_version }}
33-
- name: Bundle Install
34-
run: bundle install
35-
- name: Lint Podspec
36-
run: bundle exec pod lib lint --verbose --fail-fast --swift-version=${{ matrix.swift_version }}
37-
spm-13:
38-
name: Build Xcode 13
39-
runs-on: macOS-12
40-
strategy:
41-
matrix:
42-
platforms: [
43-
'iOS_15,watchOS_8',
44-
'macOS_12,tvOS_15',
45-
]
46-
fail-fast: false
47-
steps:
4816
- uses: ruby/setup-ruby@v1
4917
with:
50-
ruby-version: '3.3.1'
51-
- name: Checkout Repo
52-
uses: actions/checkout@v4
53-
- name: Bundle Install
54-
run: bundle install
18+
ruby-version: '3.3.5'
19+
bundler-cache: true
5520
- name: Select Xcode Version
56-
run: sudo xcode-select --switch /Applications/Xcode_13.4.1.app/Contents/Developer
57-
- name: Prepare Simulator Runtimes
58-
run: Scripts/github/prepare-simulators.sh ${{ matrix.platforms }}
59-
- name: Build and Test Framework
60-
run: Scripts/build.swift ${{ matrix.platforms }}
61-
- name: Prepare Coverage Reports
62-
run: ./Scripts/prepare-coverage-reports.sh
63-
- name: Upload Coverage Reports
64-
if: success()
65-
uses: codecov/codecov-action@v4
66-
with:
67-
token: ${{ secrets.CODECOV_TOKEN }}
68-
spm-13-swift:
69-
name: Swift Build Xcode 13
70-
runs-on: macOS-12
71-
steps:
72-
- uses: ruby/setup-ruby@v1
73-
with:
74-
ruby-version: '3.3.1'
75-
- name: Checkout Repo
76-
uses: actions/checkout@v4
77-
- name: Bundle Install
78-
run: bundle install
79-
- name: Select Xcode Version
80-
run: sudo xcode-select --switch /Applications/Xcode_13.4.1.app/Contents/Developer
81-
- name: Build and Test Framework
82-
run: xcrun swift test -c release -Xswiftc -enable-testing
83-
spm-14:
84-
name: Build Xcode 14
85-
runs-on: macOS-12
21+
run: sudo xcode-select --switch /Applications/Xcode_16.app/Contents/Developer
22+
- name: Lint Podspec
23+
run: bundle exec pod lib lint --verbose --fail-fast --swift-version=6.0
24+
spm-16:
25+
name: Build Xcode 16
26+
runs-on: macOS-14
8627
strategy:
8728
matrix:
8829
platforms: [
89-
'iOS_16,watchOS_9',
90-
'macOS_12,tvOS_16',
30+
'iOS_18,watchOS_11',
31+
'macOS_15,tvOS_18',
32+
'macCatalyst_15',
33+
'visionOS_2'
9134
]
9235
fail-fast: false
9336
steps:
94-
- uses: ruby/setup-ruby@v1
95-
with:
96-
ruby-version: '3.3.1'
97-
- name: Checkout Repo
98-
uses: actions/checkout@v4
99-
- name: Bundle Install
100-
run: bundle install
101-
- name: Select Xcode Version
102-
run: sudo xcode-select --switch /Applications/Xcode_14.0.1.app/Contents/Developer
103-
- name: Prepare Simulator Runtimes
104-
run: Scripts/github/prepare-simulators.sh ${{ matrix.platforms }}
105-
- name: Build and Test Framework
106-
run: Scripts/build.swift ${{ matrix.platforms }}
107-
- name: Prepare Coverage Reports
108-
run: ./Scripts/prepare-coverage-reports.sh
109-
- name: Upload Coverage Reports
110-
if: success()
111-
uses: codecov/codecov-action@v4
112-
with:
113-
token: ${{ secrets.CODECOV_TOKEN }}
114-
spm-14-swift:
115-
name: Swift Build Xcode 14
116-
runs-on: macOS-12
117-
steps:
118-
- uses: ruby/setup-ruby@v1
119-
with:
120-
ruby-version: '3.3.1'
12137
- name: Checkout Repo
12238
uses: actions/checkout@v4
123-
- name: Bundle Install
124-
run: bundle install
125-
- name: Select Xcode Version
126-
run: sudo xcode-select --switch /Applications/Xcode_14.0.1.app/Contents/Developer
127-
- name: Build and Test Framework
128-
run: xcrun swift test -c release -Xswiftc -enable-testing
129-
spm-15:
130-
name: Build Xcode 15
131-
runs-on: macOS-14
132-
strategy:
133-
matrix:
134-
platforms: [
135-
'iOS_17,watchOS_10',
136-
'macOS_14,tvOS_17',
137-
'macCatalyst_14',
138-
'visionOS_1'
139-
]
140-
fail-fast: false
141-
steps:
14239
- uses: ruby/setup-ruby@v1
14340
with:
144-
ruby-version: '3.3.1'
145-
- name: Checkout Repo
146-
uses: actions/checkout@v4
147-
- name: Bundle Install
148-
run: bundle install
41+
ruby-version: '3.3.5'
42+
bundler-cache: true
14943
- name: Select Xcode Version
150-
run: sudo xcode-select --switch /Applications/Xcode_15.2.app/Contents/Developer
44+
run: sudo xcode-select --switch /Applications/Xcode_16.app/Contents/Developer
15145
- name: Download visionOS
152-
if: matrix.platforms == 'visionOS_1'
46+
if: matrix.platforms == 'visionOS_2'
15347
run: |
15448
sudo xcodebuild -runFirstLaunch
15549
sudo xcrun simctl list
@@ -164,18 +58,17 @@ jobs:
16458
uses: codecov/codecov-action@v4
16559
with:
16660
token: ${{ secrets.CODECOV_TOKEN }}
167-
spm-15-swift:
168-
name: Swift Build Xcode 15
61+
spm-16-swift:
62+
name: Swift Build Xcode 16
16963
runs-on: macOS-14
17064
steps:
171-
- uses: ruby/setup-ruby@v1
172-
with:
173-
ruby-version: '3.3.1'
17465
- name: Checkout Repo
17566
uses: actions/checkout@v4
176-
- name: Bundle Install
177-
run: bundle install
67+
- uses: ruby/setup-ruby@v1
68+
with:
69+
ruby-version: '3.3.5'
70+
bundler-cache: true
17871
- name: Select Xcode Version
179-
run: sudo xcode-select --switch /Applications/Xcode_15.2.app/Contents/Developer
72+
run: sudo xcode-select --switch /Applications/Xcode_16.app/Contents/Developer
18073
- name: Build and Test Framework
18174
run: xcrun swift test -c release -Xswiftc -enable-testing

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.3.1
1+
3.3.5

CacheAdvance.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'CacheAdvance'
3-
s.version = '2.1.0'
3+
s.version = '3.0.0'
44
s.license = 'Apache License, Version 2.0'
55
s.summary = 'A performant cache for logging systems. CacheAdvance persists log events 30x faster than SQLite.'
66
s.homepage = 'https://github.com/dfed/CacheAdvance'

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ruby '3.3.1'
1+
ruby '3.3.5'
22

33
source 'https://rubygems.org'
44

Gemfile.lock

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@ GEM
55
base64
66
nkf
77
rexml
8-
activesupport (7.1.3.3)
8+
activesupport (7.2.1)
99
base64
1010
bigdecimal
11-
concurrent-ruby (~> 1.0, >= 1.0.2)
11+
concurrent-ruby (~> 1.0, >= 1.3.1)
1212
connection_pool (>= 2.2.5)
1313
drb
1414
i18n (>= 1.6, < 2)
15+
logger (>= 1.4.2)
1516
minitest (>= 5.1)
16-
mutex_m
17-
tzinfo (~> 2.0)
18-
addressable (2.8.6)
19-
public_suffix (>= 2.0.2, < 6.0)
17+
securerandom (>= 0.3)
18+
tzinfo (~> 2.0, >= 2.0.5)
19+
addressable (2.8.7)
20+
public_suffix (>= 2.0.2, < 7.0)
2021
algoliasearch (1.27.5)
2122
httpclient (~> 2.8, >= 2.8.3)
2223
json (>= 1.5.1)
@@ -62,32 +63,31 @@ GEM
6263
netrc (~> 0.11)
6364
cocoapods-try (1.2.0)
6465
colored2 (3.1.2)
65-
concurrent-ruby (1.2.3)
66+
concurrent-ruby (1.3.4)
6667
connection_pool (2.4.1)
6768
drb (2.2.1)
6869
escape (0.0.4)
6970
ethon (0.16.0)
7071
ffi (>= 1.15.0)
71-
ffi (1.16.3)
72+
ffi (1.17.0)
7273
fourflusher (2.3.1)
7374
fuzzy_match (2.0.4)
7475
gh_inspector (1.1.3)
7576
httpclient (2.8.3)
76-
i18n (1.14.5)
77+
i18n (1.14.6)
7778
concurrent-ruby (~> 1.0)
7879
json (2.7.2)
79-
minitest (5.23.0)
80+
logger (1.6.1)
81+
minitest (5.25.1)
8082
molinillo (0.8.0)
81-
mutex_m (0.2.0)
8283
nanaimo (0.3.0)
8384
nap (1.1.0)
8485
netrc (0.11.0)
8586
nkf (0.2.0)
8687
public_suffix (4.0.7)
87-
rexml (3.3.6)
88-
strscan
88+
rexml (3.3.7)
8989
ruby-macho (2.5.1)
90-
strscan (3.1.0)
90+
securerandom (0.3.1)
9191
typhoeus (1.4.1)
9292
ethon (>= 0.9.0)
9393
tzinfo (2.0.6)
@@ -107,7 +107,7 @@ DEPENDENCIES
107107
cocoapods (~> 1.15.0)
108108

109109
RUBY VERSION
110-
ruby 3.3.1p55
110+
ruby 3.3.5p94
111111

112112
BUNDLED WITH
113-
2.4.12
113+
2.5.16

Package.swift

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version:5.6
1+
// swift-tools-version:6.0
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33

44
import PackageDescription
@@ -25,24 +25,39 @@ let package = Package(
2525
targets: [
2626
.target(
2727
name: "CacheAdvance",
28-
swiftSettings: [.define("SWIFT_PACKAGE_MANAGER")]
28+
swiftSettings: [
29+
.swiftLanguageMode(.v6),
30+
.define("SWIFT_PACKAGE_MANAGER")
31+
]
2932
),
3033
.testTarget(
3134
name: "CacheAdvanceTests",
32-
dependencies: ["CacheAdvance", "LorumIpsum"]
35+
dependencies: ["CacheAdvance", "LorumIpsum"],
36+
swiftSettings: [
37+
.swiftLanguageMode(.v6),
38+
]
3339
),
3440
.target(
3541
name: "CADCacheAdvance",
3642
dependencies: ["CacheAdvance"],
37-
swiftSettings: [.define("SWIFT_PACKAGE_MANAGER")]
43+
swiftSettings: [
44+
.swiftLanguageMode(.v6),
45+
.define("SWIFT_PACKAGE_MANAGER")
46+
]
3847
),
3948
.target(
4049
name: "LorumIpsum",
41-
dependencies: []
50+
dependencies: [],
51+
swiftSettings: [
52+
.swiftLanguageMode(.v6),
53+
]
4254
),
4355
.testTarget(
4456
name: "CADCacheAdvanceTests",
45-
dependencies: ["CADCacheAdvance", "LorumIpsum"]
57+
dependencies: ["CADCacheAdvance", "LorumIpsum"],
58+
swiftSettings: [
59+
.swiftLanguageMode(.v6),
60+
]
4661
),
4762
]
4863
)

Package@swift-5.7.swift

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)