Skip to content

Commit 6d46127

Browse files
authored
Release 0.1.0 (#2)
Release `0.1.0`
2 parents 4592824 + 74e065d commit 6d46127

File tree

15 files changed

+439
-64
lines changed

15 files changed

+439
-64
lines changed

.github/workflows/ci.yml

Lines changed: 180 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,193 @@ on:
66
- main
77
- dev
88
pull_request:
9-
branches: [ main ]
10-
11-
concurrency:
12-
group: ci
13-
cancel-in-progress: true
9+
paths:
10+
- '.swiftlint.yml'
11+
- ".github/workflows/**"
12+
- "Package.swift"
13+
- "Source/**"
14+
- "Tests/**"
1415

1516
jobs:
16-
Latest:
17-
name: Test Latest (iOS, macOS, tvOS, watchOS)
18-
runs-on: macOS-12
17+
SwiftLint:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v3
21+
- name: GitHub Action for SwiftLint
22+
uses: norio-nomura/[email protected]
23+
with:
24+
args: --strict
25+
env:
26+
DIFF_BASE: ${{ github.base_ref }}
27+
macOS:
28+
name: ${{ matrix.name }}
29+
runs-on: ${{ matrix.runsOn }}
30+
env:
31+
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"
32+
timeout-minutes: 20
33+
strategy:
34+
fail-fast: false
35+
matrix:
36+
include:
37+
- xcode: "Xcode_16.0"
38+
runsOn: macOS-14
39+
name: "macOS 14, Xcode 16.0, Swift 6.0"
40+
- xcode: "Xcode_15.4"
41+
runsOn: macOS-14
42+
name: "macOS 14, Xcode 15.4, Swift 5.10"
43+
- xcode: "Xcode_15.0"
44+
runsOn: macos-13
45+
name: "macOS 13, Xcode 15.0, Swift 5.9.0"
46+
- xcode: "Xcode_14.3.1"
47+
runsOn: macos-13
48+
name: "macOS 13, Xcode 14.3.1, Swift 5.8.0"
49+
steps:
50+
- uses: actions/checkout@v3
51+
- name: ${{ matrix.name }}
52+
run: xcodebuild test -scheme "Concurrency-Package" -destination "platform=macOS" clean || exit 1
53+
54+
iOS:
55+
name: ${{ matrix.name }}
56+
runs-on: ${{ matrix.runsOn }}
57+
env:
58+
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"
59+
timeout-minutes: 20
60+
strategy:
61+
fail-fast: false
62+
matrix:
63+
include:
64+
- destination: "OS=18.1,name=iPhone 16 Pro"
65+
name: "iOS 18.1"
66+
xcode: "Xcode_16.1"
67+
runsOn: macOS-14
68+
- destination: "OS=18.0,name=iPhone 16 Pro"
69+
name: "iOS 18.0"
70+
xcode: "Xcode_16.0"
71+
runsOn: macOS-14
72+
- destination: "OS=17.5,name=iPhone 15 Pro"
73+
name: "iOS 17.5"
74+
xcode: "Xcode_15.4"
75+
runsOn: macOS-14
76+
- destination: "OS=17.0.1,name=iPhone 14 Pro"
77+
name: "iOS 17.0.1"
78+
xcode: "Xcode_15.0"
79+
runsOn: macos-13
80+
- destination: "OS=16.4,name=iPhone 14 Pro"
81+
name: "iOS 16.4"
82+
xcode: "Xcode_14.3.1"
83+
runsOn: macos-13
84+
steps:
85+
- uses: actions/checkout@v3
86+
- name: ${{ matrix.name }}
87+
run: xcodebuild test -scheme "Concurrency-Package" -destination "${{ matrix.destination }}" clean || exit 1
88+
89+
tvOS:
90+
name: ${{ matrix.name }}
91+
runs-on: ${{ matrix.runsOn }}
1992
env:
20-
DEVELOPER_DIR: "/Applications/Xcode_14.1.app/Contents/Developer"
21-
timeout-minutes: 10
93+
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"
94+
timeout-minutes: 20
2295
strategy:
2396
fail-fast: false
2497
matrix:
2598
include:
26-
- destination: "OS=16.1,name=iPhone 14 Pro"
27-
name: "iOS"
28-
scheme: "Concurrency-Package"
29-
- destination: "OS=16.1,name=Apple TV"
30-
name: "tvOS"
31-
scheme: "Concurrency-Package"
32-
- destination: "OS=9.1,name=Apple Watch Series 8 (45mm)"
33-
name: "watchOS"
34-
scheme: "Concurrency-Package"
35-
- destination: "platform=macOS"
36-
name: "macOS"
37-
scheme: "Concurrency-Package"
99+
- destination: "OS=18.1,name=Apple TV"
100+
name: "tvOS 18.1"
101+
xcode: "Xcode_16.1"
102+
runsOn: macOS-14
103+
- destination: "OS=18.0,name=Apple TV"
104+
name: "tvOS 18.0"
105+
xcode: "Xcode_16.0"
106+
runsOn: macOS-14
107+
- destination: "OS=17.5,name=Apple TV"
108+
name: "tvOS 17.5"
109+
xcode: "Xcode_15.4"
110+
runsOn: macOS-14
111+
- destination: "OS=17.0,name=Apple TV"
112+
name: "tvOS 17.0"
113+
xcode: "Xcode_15.0"
114+
runsOn: macos-13
115+
- destination: "OS=16.4,name=Apple TV"
116+
name: "tvOS 16.4"
117+
xcode: "Xcode_14.3.1"
118+
runsOn: macos-13
38119
steps:
39120
- uses: actions/checkout@v3
40121
- name: ${{ matrix.name }}
41-
run: xcodebuild test -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" clean
122+
run: xcodebuild test -scheme "Concurrency-Package" -destination "${{ matrix.destination }}" clean || exit 1
123+
124+
watchOS:
125+
name: ${{ matrix.name }}
126+
runs-on: ${{ matrix.runsOn }}
127+
env:
128+
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"
129+
timeout-minutes: 20
130+
strategy:
131+
fail-fast: false
132+
matrix:
133+
include:
134+
- destination: "OS=11.1,name=Apple Watch Series 10 (46mm)"
135+
name: "watchOS 11.1"
136+
xcode: "Xcode_16.1"
137+
runsOn: macOS-14
138+
- destination: "OS=11.0,name=Apple Watch Series 10 (46mm)"
139+
name: "watchOS 11.0"
140+
xcode: "Xcode_16.0"
141+
runsOn: macOS-14
142+
- destination: "OS=10.5,name=Apple Watch Series 9 (45mm)"
143+
name: "watchOS 10.5"
144+
xcode: "Xcode_15.4"
145+
runsOn: macOS-14
146+
- destination: "OS=10.0,name=Apple Watch Series 9 (45mm)"
147+
name: "watchOS 10.0"
148+
xcode: "Xcode_15.0"
149+
runsOn: macos-13
150+
- destination: "OS=9.4,name=Apple Watch Series 8 (45mm)"
151+
name: "watchOS 9.4"
152+
xcode: "Xcode_14.3.1"
153+
runsOn: macos-13
154+
steps:
155+
- uses: actions/checkout@v3
156+
- name: ${{ matrix.name }}
157+
run: xcodebuild test -scheme "Concurrency-Package" -destination "${{ matrix.destination }}" clean || exit 1
158+
159+
spm:
160+
name: ${{ matrix.name }}
161+
runs-on: ${{ matrix.runsOn }}
162+
env:
163+
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"
164+
timeout-minutes: 20
165+
strategy:
166+
fail-fast: false
167+
matrix:
168+
include:
169+
- name: "macOS 14, SPM 6.0.2 Test"
170+
xcode: "Xcode_16.1"
171+
runsOn: macOS-14
172+
- name: "macOS 14, SPM 6.0.0 Test"
173+
xcode: "Xcode_16.0"
174+
runsOn: macOS-14
175+
- name: "macOS 14, SPM 5.9.0 Test"
176+
xcode: "Xcode_15.0"
177+
runsOn: macos-14
178+
- name: "macOS 13, SPM 5.8.1 Test"
179+
xcode: "Xcode_14.3.1"
180+
runsOn: macos-13
181+
steps:
182+
- uses: actions/checkout@v3
183+
- name: ${{ matrix.name }}
184+
run: swift build -c release
185+
186+
discover-typos:
187+
name: Discover Typos
188+
runs-on: macOS-13
189+
env:
190+
DEVELOPER_DIR: /Applications/Xcode_14.1.app/Contents/Developer
191+
steps:
192+
- uses: actions/checkout@v4
193+
- name: Discover typos
194+
run: |
195+
export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.11/bin"
196+
python3 -m pip install --upgrade pip
197+
python3 -m pip install codespell
198+
codespell --ignore-words-list="hart,inout,msdos,sur" --skip="./.build/*,./.git/*"

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,3 +88,7 @@ fastlane/test_output
8888
# https://github.com/johnno1962/injectionforxcode
8989

9090
iOSInjectionProject/
91+
92+
# Other
93+
94+
Package.resolved

.swiftlint.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
excluded:
22
- Tests
33
- Package.swift
4+
5+
6+
7+
8+
9+
410
- .build
511

612
# Rules
@@ -132,4 +138,4 @@ nesting:
132138
type_name:
133139
max_length:
134140
warning: 40
135-
error: 50
141+
error: 50

Mintfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
nicklockwood/SwiftFormat@0.47.12
2-
realm/SwiftLint@0.47.1
1+
nicklockwood/SwiftFormat@0.54.0
2+
realm/SwiftLint@0.55.1

Package.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.5
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
@@ -9,7 +9,7 @@ let package = Package(
99
.macOS(.v10_15),
1010
.iOS(.v13),
1111
.watchOS(.v6),
12-
.tvOS(.v11),
12+
.tvOS(.v12),
1313
],
1414
products: [
1515
.library(name: "Concurrency", targets: ["Concurrency"]),

[email protected]

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// swift-tools-version: 5.10
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "Concurrency",
8+
platforms: [
9+
.macOS(.v10_15),
10+
.iOS(.v13),
11+
.watchOS(.v6),
12+
.tvOS(.v12),
13+
],
14+
products: [
15+
.library(name: "Concurrency", targets: ["Concurrency"]),
16+
.library(name: "TestConcurrency", targets: ["TestConcurrency"]),
17+
],
18+
dependencies: [],
19+
targets: [
20+
.target(name: "Concurrency", dependencies: []),
21+
.target(name: "TestConcurrency", dependencies: ["Concurrency"]),
22+
.testTarget(name: "ConcurrencyTests", dependencies: ["Concurrency"]),
23+
]
24+
)

[email protected]

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// swift-tools-version: 5.5
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "Concurrency",
8+
platforms: [
9+
.macOS(.v10_15),
10+
.iOS(.v13),
11+
.watchOS(.v6),
12+
.tvOS(.v12),
13+
],
14+
products: [
15+
.library(name: "Concurrency", targets: ["Concurrency"]),
16+
.library(name: "TestConcurrency", targets: ["TestConcurrency"]),
17+
],
18+
dependencies: [],
19+
targets: [
20+
.target(name: "Concurrency", dependencies: []),
21+
.target(name: "TestConcurrency", dependencies: ["Concurrency"]),
22+
.testTarget(name: "ConcurrencyTests", dependencies: ["Concurrency"]),
23+
]
24+
)

[email protected]

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// swift-tools-version: 5.6
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "Concurrency",
8+
platforms: [
9+
.macOS(.v10_15),
10+
.iOS(.v13),
11+
.watchOS(.v6),
12+
.tvOS(.v12),
13+
],
14+
products: [
15+
.library(name: "Concurrency", targets: ["Concurrency"]),
16+
.library(name: "TestConcurrency", targets: ["TestConcurrency"]),
17+
],
18+
dependencies: [],
19+
targets: [
20+
.target(name: "Concurrency", dependencies: []),
21+
.target(name: "TestConcurrency", dependencies: ["Concurrency"]),
22+
.testTarget(name: "ConcurrencyTests", dependencies: ["Concurrency"]),
23+
]
24+
)

[email protected]

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// swift-tools-version: 5.7
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "Concurrency",
8+
platforms: [
9+
.macOS(.v10_15),
10+
.iOS(.v13),
11+
.watchOS(.v6),
12+
.tvOS(.v12),
13+
],
14+
products: [
15+
.library(name: "Concurrency", targets: ["Concurrency"]),
16+
.library(name: "TestConcurrency", targets: ["TestConcurrency"]),
17+
],
18+
dependencies: [],
19+
targets: [
20+
.target(name: "Concurrency", dependencies: []),
21+
.target(name: "TestConcurrency", dependencies: ["Concurrency"]),
22+
.testTarget(name: "ConcurrencyTests", dependencies: ["Concurrency"]),
23+
]
24+
)

[email protected]

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// swift-tools-version: 5.8
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "Concurrency",
8+
platforms: [
9+
.macOS(.v10_15),
10+
.iOS(.v13),
11+
.watchOS(.v6),
12+
.tvOS(.v12),
13+
],
14+
products: [
15+
.library(name: "Concurrency", targets: ["Concurrency"]),
16+
.library(name: "TestConcurrency", targets: ["TestConcurrency"]),
17+
],
18+
dependencies: [],
19+
targets: [
20+
.target(name: "Concurrency", dependencies: []),
21+
.target(name: "TestConcurrency", dependencies: ["Concurrency"]),
22+
.testTarget(name: "ConcurrencyTests", dependencies: ["Concurrency"]),
23+
]
24+
)

0 commit comments

Comments
 (0)