Skip to content

Commit e6306eb

Browse files
committed
Skip K8s tests on mac runner
1 parent 974746e commit e6306eb

File tree

7 files changed

+51
-46
lines changed

7 files changed

+51
-46
lines changed

.github/workflows/ci.yml

+15-10
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
continue-on-error: true
4040
strategy:
4141
matrix:
42-
os: [ubuntu-22.04, macos-14]
42+
os: [ubuntu-22.04, macos-latest]
4343
swift: ["5.9", "5.10", "6.0"]
4444
steps:
4545
- name: Checkout
@@ -51,15 +51,16 @@ jobs:
5151
key: ${{ matrix.os }}-${{ matrix.swift }}-${{ hashFiles('**/Package.resolved') }}
5252
restore-keys: |
5353
${{ matrix.os }}-${{ matrix.swift }}-
54-
- name: Install runtime for macOS
55-
continue-on-error: true
56-
if: matrix.os == 'macos-14'
57-
run: |
58-
brew install docker-machine docker
59-
brew services start docker-machine
60-
sudo docker --version
61-
sysctl hw.physicalcpu hw.logicalcpu
54+
# - name: Install runtime for macOS
55+
# continue-on-error: true
56+
# if: matrix.os == 'macos-latest'
57+
# run: |
58+
# brew install docker-machine docker
59+
# brew services start docker-machine
60+
# sudo docker --version
61+
# sysctl hw.physicalcpu hw.logicalcpu
6262
- name: Start minikube
63+
if: matrix.os == 'ubuntu-22.04'
6364
uses: medyagh/setup-minikube@latest
6465
id: minikube
6566
with:
@@ -71,5 +72,9 @@ jobs:
7172
run: swift --version
7273
- name: Build
7374
run: swift build
74-
- name: Test
75+
- name: Test Linux
76+
if: matrix.os == 'ubuntu-22.04'
7577
run: swift test
78+
- name: Test macOS
79+
if: matrix.os == 'macos-latest'
80+
run: swift test --skip K3d

Tests/SwiftkubeClientTests/K3dCRDTests.swift renamed to Tests/SwiftkubeClientTests/K8sCRDTests.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import SwiftkubeClient
1818
import SwiftkubeModel
1919
import XCTest
2020

21-
final class K3dCRDTests: K3dTestCase {
21+
final class K8sCRDTests: K8sTestCase {
2222

2323
private let cocktailCRD = apiextensions.v1.CustomResourceDefinition(
2424
metadata: meta.v1.ObjectMeta(name: "cocktails.example.swiftkube.dev"),
@@ -99,9 +99,9 @@ final class K3dCRDTests: K3dTestCase {
9999
}
100100

101101
func testCRD() async {
102-
let _ = try? await K3dTestCase.client.apiExtensionsV1.customResourceDefinitions.create(cocktailCRD)
102+
let _ = try? await K8sTestCase.client.apiExtensionsV1.customResourceDefinitions.create(cocktailCRD)
103103

104-
let allCRDs = try? await K3dTestCase.client.apiExtensionsV1.customResourceDefinitions.list()
104+
let allCRDs = try? await K8sTestCase.client.apiExtensionsV1.customResourceDefinitions.list()
105105

106106
let cocktail = allCRDs?.first { element in
107107
element.spec.names.kind == "Cocktail"
@@ -114,7 +114,7 @@ final class K3dCRDTests: K3dTestCase {
114114
resource: "cocktails"
115115
)
116116

117-
let cocktailsClient = K3dTestCase.client.for(Cocktail.self, gvr: gvr)
117+
let cocktailsClient = K8sTestCase.client.for(Cocktail.self, gvr: gvr)
118118

119119
try? _ = await cocktailsClient.create(in: .namespace("crd-test"), Cocktail(
120120
metadata: meta.v1.ObjectMeta(name: "gin-tonic"),

Tests/SwiftkubeClientTests/K3dConfigMapTests.swift renamed to Tests/SwiftkubeClientTests/K8sConfigMapTests.swift

+12-12
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import SwiftkubeClient
1919
import SwiftkubeModel
2020
import XCTest
2121

22-
final class K3dConfigMapTests: K3dTestCase {
22+
final class K8sConfigMapTests: K8sTestCase {
2323

2424
override class func setUp() {
2525
super.setUp()
@@ -41,10 +41,10 @@ final class K3dConfigMapTests: K3dTestCase {
4141
buildConfigMap("test2", data: ["app": "nginx", "env": "qa"]),
4242
buildConfigMap("test3", data: ["app": "swiftkube", "env": "prod"])
4343
] {
44-
try? _ = await K3dTestCase.client.configMaps.create(inNamespace: .namespace("cm1"), configMap)
44+
try? _ = await K8sTestCase.client.configMaps.create(inNamespace: .namespace("cm1"), configMap)
4545
}
4646

47-
let configMaps = try? await K3dTestCase.client.configMaps.list(in: .namespace("cm1"))
47+
let configMaps = try? await K8sTestCase.client.configMaps.list(in: .namespace("cm1"))
4848
.map {
4949
$0.name
5050
}
@@ -53,7 +53,7 @@ final class K3dConfigMapTests: K3dTestCase {
5353
}
5454

5555
func testCreate() async {
56-
let configMap = try? await K3dTestCase.client.configMaps.create(
56+
let configMap = try? await K8sTestCase.client.configMaps.create(
5757
inNamespace: .namespace("cm2"),
5858
buildConfigMap("test", data: ["app": "nginx", "env": "dev"])
5959
)
@@ -64,19 +64,19 @@ final class K3dConfigMapTests: K3dTestCase {
6464
}
6565

6666
func testDelete() async {
67-
let configMap = try? await K3dTestCase.client.configMaps.create(
67+
let configMap = try? await K8sTestCase.client.configMaps.create(
6868
inNamespace: .namespace("cm2"),
6969
buildConfigMap("deleteme", data: [:])
7070
)
7171

7272
XCTAssertNotNil(configMap)
7373

74-
let _ = try? await K3dTestCase.client.configMaps.delete(inNamespace: .namespace("cm2"), name: configMap!.name!)
74+
let _ = try? await K8sTestCase.client.configMaps.delete(inNamespace: .namespace("cm2"), name: configMap!.name!)
7575

7676
let deletedConfigMap = expectation(description: "Deleted ConfigMap")
7777

7878
do {
79-
let _ = try await K3dTestCase.client.configMaps.get(in: .namespace("cm2"), name: "deleteme")
79+
let _ = try await K8sTestCase.client.configMaps.get(in: .namespace("cm2"), name: "deleteme")
8080
} catch let error {
8181
guard case let SwiftkubeClientError.statusError(status) = error, status.code == 404 else {
8282
return
@@ -94,7 +94,7 @@ final class K3dConfigMapTests: K3dTestCase {
9494
let task = Task {
9595
var records: [Record] = []
9696
do {
97-
let watchTask = try K3dTestCase.client.configMaps.watch(in: .namespace("cm3"))
97+
let watchTask = try K8sTestCase.client.configMaps.watch(in: .namespace("cm3"))
9898
for try await event in await watchTask.start() {
9999
let record = Record(eventType: event.type, resource: event.resource.metadata!.name!)
100100
records.append(record)
@@ -110,10 +110,10 @@ final class K3dConfigMapTests: K3dTestCase {
110110
}
111111
}
112112

113-
try? _ = await K3dTestCase.client.configMaps.create(inNamespace: .namespace("cm3"), buildConfigMap("test1"))
114-
try? _ = await K3dTestCase.client.configMaps.create(inNamespace: .namespace("cm3"), buildConfigMap("test2"))
115-
try? _ = await K3dTestCase.client.configMaps.delete(inNamespace: .namespace("cm3"), name: "test1")
116-
try? _ = await K3dTestCase.client.configMaps.update(inNamespace: .namespace("cm3"), buildConfigMap("test2", data: ["foo": "bar"]))
113+
try? _ = await K8sTestCase.client.configMaps.create(inNamespace: .namespace("cm3"), buildConfigMap("test1"))
114+
try? _ = await K8sTestCase.client.configMaps.create(inNamespace: .namespace("cm3"), buildConfigMap("test2"))
115+
try? _ = await K8sTestCase.client.configMaps.delete(inNamespace: .namespace("cm3"), name: "test1")
116+
try? _ = await K8sTestCase.client.configMaps.update(inNamespace: .namespace("cm3"), buildConfigMap("test2", data: ["foo": "bar"]))
117117

118118
await fulfillment(of: [expectation], timeout:10)
119119

Tests/SwiftkubeClientTests/K3dNamespaceTests.swift renamed to Tests/SwiftkubeClientTests/K8sNamespaceTests.swift

+9-9
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import SwiftkubeClient
1818
import SwiftkubeModel
1919
import XCTest
2020

21-
final class K3dNamespaceTests: K3dTestCase {
21+
final class K8sNamespaceTests: K8sTestCase {
2222

2323
override class func setUp() {
2424
super.setUp()
@@ -35,7 +35,7 @@ final class K3dNamespaceTests: K3dTestCase {
3535
}
3636

3737
func testListByLabels_eq() async {
38-
let namespaces = try? await K3dTestCase.client.namespaces.list(options: [
38+
let namespaces = try? await K8sTestCase.client.namespaces.list(options: [
3939
.labelSelector(.eq(["app": "nginx"]))
4040
])
4141
.map { $0.name }
@@ -44,7 +44,7 @@ final class K3dNamespaceTests: K3dTestCase {
4444
}
4545

4646
func testListByLabels_neq() async {
47-
let namespaces = try? await K3dTestCase.client.namespaces.list(options: [
47+
let namespaces = try? await K8sTestCase.client.namespaces.list(options: [
4848
.labelSelector(.exists(["app"])),
4949
.labelSelector(.neq(["app": "nginx"]))
5050
])
@@ -54,14 +54,14 @@ final class K3dNamespaceTests: K3dTestCase {
5454
}
5555

5656
func testListByLabels_exists() async {
57-
let namespaces = try? await K3dTestCase.client.namespaces.list(options: [
57+
let namespaces = try? await K8sTestCase.client.namespaces.list(options: [
5858
.labelSelector(.exists(["app"]))
5959
])
6060
.map { $0.name }
6161

6262
assertEqual(namespaces, ["ns1", "ns2", "ns3"])
6363

64-
let empty = try? await K3dTestCase.client.namespaces.list(options: [
64+
let empty = try? await K8sTestCase.client.namespaces.list(options: [
6565
.labelSelector(.exists(["foo"]))
6666
])
6767
.map { $0.name }
@@ -70,14 +70,14 @@ final class K3dNamespaceTests: K3dTestCase {
7070
}
7171

7272
func testListByLabels_in() async {
73-
let all = try? await K3dTestCase.client.namespaces.list(options: [
73+
let all = try? await K8sTestCase.client.namespaces.list(options: [
7474
.labelSelector(.in(["app": ["nginx", "swiftkube"]]))
7575
])
7676
.map { $0.name }
7777

7878
assertEqual(all, ["ns1", "ns2", "ns3"])
7979

80-
let sub = try? await K3dTestCase.client.namespaces.list(options: [
80+
let sub = try? await K8sTestCase.client.namespaces.list(options: [
8181
.labelSelector(.in(["app": ["nginx"]]))
8282
])
8383
.map { $0.name }
@@ -86,7 +86,7 @@ final class K3dNamespaceTests: K3dTestCase {
8686
}
8787

8888
func testListByLabels_notIn() async {
89-
let namespaces = try? await K3dTestCase.client.namespaces.list(options: [
89+
let namespaces = try? await K8sTestCase.client.namespaces.list(options: [
9090
.labelSelector(.exists(["app"])),
9191
.labelSelector(.notIn(["app": ["swiftkube"]]))
9292
])
@@ -96,7 +96,7 @@ final class K3dNamespaceTests: K3dTestCase {
9696
}
9797

9898
func testGetByName() async {
99-
let namespace = try? await K3dTestCase.client.namespaces.get(name: "ns2").name
99+
let namespace = try? await K8sTestCase.client.namespaces.get(name: "ns2").name
100100
XCTAssertEqual(namespace, "ns2")
101101
}
102102
}

Tests/SwiftkubeClientTests/K3dNodeTests.swift renamed to Tests/SwiftkubeClientTests/K8sNodeTests.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ import SwiftkubeClient
1818
import SwiftkubeModel
1919
import XCTest
2020

21-
final class K3dNodeTests: K3dTestCase {
21+
final class K8sNodeTests: K8sTestCase {
2222

2323
func testListNodes() async {
24-
let nodes = try? await K3dTestCase.client.nodes.list()
24+
let nodes = try? await K8sTestCase.client.nodes.list()
2525
XCTAssertEqual(nodes?.items.count, 1)
2626
}
2727
}

Tests/SwiftkubeClientTests/K3dServiceTests.swift renamed to Tests/SwiftkubeClientTests/K8sServiceTests.swift

+8-8
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import SwiftkubeClient
1919
import SwiftkubeModel
2020
import XCTest
2121

22-
final class K3dServiceTests: K3dTestCase {
22+
final class K8sServiceTests: K8sTestCase {
2323

2424
let deployment = buildDeployment()
2525

@@ -34,16 +34,16 @@ final class K3dServiceTests: K3dTestCase {
3434
}
3535

3636
func testListCreate() async {
37-
try? _ = await K3dTestCase.client.appsV1.deployments.create(in: .namespace("svc1"), deployment)
37+
try? _ = await K8sTestCase.client.appsV1.deployments.create(in: .namespace("svc1"), deployment)
3838

3939
for service in [
4040
buildService(name: "svc1", port: 8080, deploy: deployment),
4141
buildService(name: "svc2", port: 9090, deploy: deployment),
4242
] {
43-
try? _ = await K3dTestCase.client.services.create(inNamespace: .namespace("svc1"), service)
43+
try? _ = await K8sTestCase.client.services.create(inNamespace: .namespace("svc1"), service)
4444
}
4545

46-
let services = try? await K3dTestCase.client.services.list(in: .namespace("svc1"))
46+
let services = try? await K8sTestCase.client.services.list(in: .namespace("svc1"))
4747

4848
let names = services?.items.map { $0.name }
4949
assertEqual(names, ["svc1", "svc2"])
@@ -53,21 +53,21 @@ final class K3dServiceTests: K3dTestCase {
5353
}
5454

5555
func testDelete() async {
56-
try? _ = await K3dTestCase.client.appsV1.deployments.create(in: .namespace("svc1"), deployment)
56+
try? _ = await K8sTestCase.client.appsV1.deployments.create(in: .namespace("svc1"), deployment)
5757

58-
let service = try? await K3dTestCase.client.services.create(
58+
let service = try? await K8sTestCase.client.services.create(
5959
inNamespace: .namespace("svc1"),
6060
buildService(name: "deleteme", port: 8080, deploy: deployment)
6161
)
6262

6363
XCTAssertNotNil(service)
6464

65-
let _ = try! await K3dTestCase.client.services.delete(inNamespace: .namespace("svc1"), name: "deleteme")
65+
let _ = try! await K8sTestCase.client.services.delete(inNamespace: .namespace("svc1"), name: "deleteme")
6666

6767
let deletedService = expectation(description: "Deleted Service")
6868

6969
do {
70-
let _ = try await K3dTestCase.client.configMaps.get(in: .namespace("svc1"), name: "deleteme")
70+
let _ = try await K8sTestCase.client.configMaps.get(in: .namespace("svc1"), name: "deleteme")
7171
} catch let error {
7272
guard case let SwiftkubeClientError.statusError(status) = error, status.code == 404 else {
7373
return

Tests/SwiftkubeClientTests/K3dTestCase.swift renamed to Tests/SwiftkubeClientTests/K8sTestCase.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import SwiftkubeClient
2020
import SwiftkubeModel
2121
import XCTest
2222

23-
open class K3dTestCase: XCTestCase {
23+
open class K8sTestCase: XCTestCase {
2424

2525
#if compiler(>=6.0)
2626
nonisolated(unsafe) static var logger: Logger!

0 commit comments

Comments
 (0)