Skip to content

Commit

Permalink
Adopt Swift 6. Drop support for Xcode 15 and below
Browse files Browse the repository at this point in the history
  • Loading branch information
dfed committed Sep 23, 2024
1 parent 7e054df commit 9e84b36
Show file tree
Hide file tree
Showing 18 changed files with 121 additions and 531 deletions.
149 changes: 21 additions & 128 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,147 +9,40 @@ on:
jobs:
pod-lint:
name: Pod Lint
runs-on: ubuntu-20.04
strategy:
matrix:
swift_version: [
'5.6',
'5.7',
'5.8',
'5.9',
'5.10',
]
fail-fast: false
runs-on: ubuntu-24.04
container: swift:6.0
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3.1'
- name: Checkout Repo
uses: actions/checkout@v4
- name: Setup Swift Environment
uses: swift-actions/setup-swift@v2
with:
swift-version: ${{ matrix.swift_version }}
- name: Bundle Install
run: bundle install
- name: Lint Podspec
run: bundle exec pod lib lint --verbose --fail-fast --swift-version=${{ matrix.swift_version }}
spm-13:
name: Build Xcode 13
runs-on: macOS-12
strategy:
matrix:
platforms: [
'iOS_15,watchOS_8',
'macOS_12,tvOS_15',
]
fail-fast: false
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3.1'
- name: Checkout Repo
uses: actions/checkout@v4
- name: Bundle Install
run: bundle install
- name: Select Xcode Version
run: sudo xcode-select --switch /Applications/Xcode_13.4.1.app/Contents/Developer
- name: Prepare Simulator Runtimes
run: Scripts/github/prepare-simulators.sh ${{ matrix.platforms }}
- name: Build and Test Framework
run: Scripts/build.swift ${{ matrix.platforms }}
- name: Prepare Coverage Reports
run: ./Scripts/prepare-coverage-reports.sh
- name: Upload Coverage Reports
if: success()
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
spm-13-swift:
name: Swift Build Xcode 13
runs-on: macOS-12
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3.1'
- name: Checkout Repo
uses: actions/checkout@v4
- name: Bundle Install
run: bundle install
- name: Select Xcode Version
run: sudo xcode-select --switch /Applications/Xcode_13.4.1.app/Contents/Developer
- name: Build and Test Framework
run: xcrun swift test -c release -Xswiftc -enable-testing
spm-14:
name: Build Xcode 14
runs-on: macOS-12
ruby-version: '3.3.5'
bundler-cache: true
- name: Lint Podspec
run: bundle exec pod lib lint --verbose --fail-fast --swift-version=6.0
spm-16:
name: Build Xcode 16
runs-on: macOS-14
strategy:
matrix:
platforms: [
'iOS_16,watchOS_9',
'macOS_12,tvOS_16',
'iOS_18,watchOS_11',
'macOS_15,tvOS_18',
'macCatalyst_15',
'visionOS_2'
]
fail-fast: false
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3.1'
- name: Checkout Repo
uses: actions/checkout@v4
- name: Bundle Install
run: bundle install
- name: Select Xcode Version
run: sudo xcode-select --switch /Applications/Xcode_14.0.1.app/Contents/Developer
- name: Prepare Simulator Runtimes
run: Scripts/github/prepare-simulators.sh ${{ matrix.platforms }}
- name: Build and Test Framework
run: Scripts/build.swift ${{ matrix.platforms }}
- name: Prepare Coverage Reports
run: ./Scripts/prepare-coverage-reports.sh
- name: Upload Coverage Reports
if: success()
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
spm-14-swift:
name: Swift Build Xcode 14
runs-on: macOS-12
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3.1'
- name: Checkout Repo
uses: actions/checkout@v4
- name: Bundle Install
run: bundle install
- name: Select Xcode Version
run: sudo xcode-select --switch /Applications/Xcode_14.0.1.app/Contents/Developer
- name: Build and Test Framework
run: xcrun swift test -c release -Xswiftc -enable-testing
spm-15:
name: Build Xcode 15
runs-on: macOS-14
strategy:
matrix:
platforms: [
'iOS_17,watchOS_10',
'macOS_14,tvOS_17',
'macCatalyst_14',
'visionOS_1'
]
fail-fast: false
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3.1'
- name: Checkout Repo
uses: actions/checkout@v4
- name: Bundle Install
run: bundle install
ruby-version: '3.3.5'
bundler-cache: true
- name: Select Xcode Version
run: sudo xcode-select --switch /Applications/Xcode_15.2.app/Contents/Developer
run: sudo xcode-select --switch /Applications/Xcode_16.app/Contents/Developer
- name: Download visionOS
if: matrix.platforms == 'visionOS_1'
if: matrix.platforms == 'visionOS_2'
run: |
sudo xcodebuild -runFirstLaunch
sudo xcrun simctl list
Expand All @@ -164,18 +57,18 @@ jobs:
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
spm-15-swift:
name: Swift Build Xcode 15
spm-16-swift:
name: Swift Build Xcode 16
runs-on: macOS-14
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3.1'
ruby-version: '3.3.5'
- name: Checkout Repo
uses: actions/checkout@v4
- name: Bundle Install
run: bundle install
- name: Select Xcode Version
run: sudo xcode-select --switch /Applications/Xcode_15.2.app/Contents/Developer
run: sudo xcode-select --switch /Applications/Xcode_16.app/Contents/Developer
- name: Build and Test Framework
run: xcrun swift test -c release -Xswiftc -enable-testing
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.3.1
3.3.5
2 changes: 1 addition & 1 deletion CacheAdvance.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'CacheAdvance'
s.version = '2.1.0'
s.version = '3.0.0'
s.license = 'Apache License, Version 2.0'
s.summary = 'A performant cache for logging systems. CacheAdvance persists log events 30x faster than SQLite.'
s.homepage = 'https://github.com/dfed/CacheAdvance'
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ruby '3.3.1'
ruby '3.3.5'

source 'https://rubygems.org'

Expand Down
32 changes: 16 additions & 16 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,19 @@ GEM
base64
nkf
rexml
activesupport (7.1.3.3)
activesupport (7.2.1)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
Expand Down Expand Up @@ -62,32 +63,31 @@ GEM
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.2.3)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
drb (2.2.1)
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
ffi (1.16.3)
ffi (1.17.0)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.14.5)
i18n (1.14.6)
concurrent-ruby (~> 1.0)
json (2.7.2)
minitest (5.23.0)
logger (1.6.1)
minitest (5.25.1)
molinillo (0.8.0)
mutex_m (0.2.0)
nanaimo (0.3.0)
nap (1.1.0)
netrc (0.11.0)
nkf (0.2.0)
public_suffix (4.0.7)
rexml (3.3.6)
strscan
rexml (3.3.7)
ruby-macho (2.5.1)
strscan (3.1.0)
securerandom (0.3.1)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.6)
Expand All @@ -107,7 +107,7 @@ DEPENDENCIES
cocoapods (~> 1.15.0)

RUBY VERSION
ruby 3.3.1p55
ruby 3.3.5p94

BUNDLED WITH
2.4.12
2.5.16
27 changes: 21 additions & 6 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// swift-tools-version:5.6
// swift-tools-version:6.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription
Expand All @@ -25,24 +25,39 @@ let package = Package(
targets: [
.target(
name: "CacheAdvance",
swiftSettings: [.define("SWIFT_PACKAGE_MANAGER")]
swiftSettings: [
.swiftLanguageMode(.v6),
.define("SWIFT_PACKAGE_MANAGER")
]
),
.testTarget(
name: "CacheAdvanceTests",
dependencies: ["CacheAdvance", "LorumIpsum"]
dependencies: ["CacheAdvance", "LorumIpsum"],
swiftSettings: [
.swiftLanguageMode(.v6),
]
),
.target(
name: "CADCacheAdvance",
dependencies: ["CacheAdvance"],
swiftSettings: [.define("SWIFT_PACKAGE_MANAGER")]
swiftSettings: [
.swiftLanguageMode(.v6),
.define("SWIFT_PACKAGE_MANAGER")
]
),
.target(
name: "LorumIpsum",
dependencies: []
dependencies: [],
swiftSettings: [
.swiftLanguageMode(.v6),
]
),
.testTarget(
name: "CADCacheAdvanceTests",
dependencies: ["CADCacheAdvance", "LorumIpsum"]
dependencies: ["CADCacheAdvance", "LorumIpsum"],
swiftSettings: [
.swiftLanguageMode(.v6),
]
),
]
)
48 changes: 0 additions & 48 deletions [email protected]

This file was deleted.

Loading

0 comments on commit 9e84b36

Please sign in to comment.