Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 5 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Category A (tools-version 6.2 + macOS 26 min): macos-26 + Swift 6.2
# Category B (tools-version 6.2 + older macOS): macos-15 + 6.2, macos-26 + 6.2
# Category C (tools-version 6.0): macos-15 + 6.0, macos-15 + 6.2, macos-26 + 6.2
# Linux (if viable): ubuntu + Swift 6.0, ubuntu + Swift 6.2
# Linux: ubuntu + Swift 6.3
#
# When Swift 6.3 ships: bump 6.0→6.1 and 6.2→6.3 in Category C
# When bumping tools-version to 6.2: drop 6.0/6.1, move to Category A or B
Expand All @@ -29,6 +29,8 @@ jobs:
include:
- os: macos-26
swift: "6.2"
- os: ubuntu-latest
swift: "6.3"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
Expand All @@ -39,24 +41,12 @@ jobs:
run: swift build -v
- name: Test
run: swift test -v
test-linux:
name: Test on Linux
runs-on: ubuntu-latest
container:
image: swift:6.2
steps:
- uses: actions/checkout@v6
- name: Build
run: swift build -v
- name: Test
run: swift test -v
lint:
name: Run SwiftLint
runs-on: macos-latest
runs-on: ubuntu-latest
container: ghcr.io/realm/swiftlint:latest
steps:
- uses: actions/checkout@v6
- name: Install SwiftLint
run: brew install swiftlint
- name: Run SwiftLint
run: swiftlint --strict
swift-format:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ concurrency:
jobs:
build:
name: Build Documentation
runs-on: macos-26
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: SwiftyLab/setup-swift@latest
Expand Down
24 changes: 11 additions & 13 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -39,17 +39,15 @@ let package = Package(
swiftLanguageModes: [.v5, .v6]
)

#if os(macOS)
package.targets.append(
.executableTarget(
name: "SwiftCIFP_E2E",
dependencies: [
"SwiftCIFP",
.product(name: "ArgumentParser", package: "swift-argument-parser"),
.product(name: "ZIPFoundation", package: "ZIPFoundation"),
.product(name: "Progress", package: "Progress.swift")
],
swiftSettings: approachableConcurrency
)
package.targets.append(
.executableTarget(
name: "SwiftCIFP_E2E",
dependencies: [
"SwiftCIFP",
.product(name: "ArgumentParser", package: "swift-argument-parser"),
.product(name: "ZIPFoundation", package: "ZIPFoundation"),
.product(name: "Progress", package: "Progress.swift")
],
swiftSettings: approachableConcurrency
)
#endif
)
20 changes: 20 additions & 0 deletions Sources/SwiftCIFP/LinuxLocalization.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// `String(localized:)` comes from FoundationInternationalization on Apple platforms but
// is unavailable on Linux. This package uses its default ("en") localization text as the
// lookup key, so on Linux we resolve each key to itself. Excluded on Apple, where the
// real Foundation API is used.

#if !canImport(Darwin)
import Foundation

extension String {
init(
localized key: String,
table _: String? = nil,
bundle _: Bundle? = nil,
locale _: Locale? = nil,
comment _: StaticString? = nil
) {
self = key
}
}
#endif
Loading
Loading