Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
4 changes: 2 additions & 2 deletions Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Sources/App/Core/SwiftVersion+Build.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,27 @@ extension SwiftVersion {
// https://github.com/SwiftPackageIndex/SwiftPackageIndex-Server/issues/1267#issuecomment-975379966
// Patch versions are irrelevant here but the underlying type requires one, so use 0
// in general.
static let v5_8: Self = .init(5, 8, 0)
static let v5_9: Self = .init(5, 9, 0)
static let v5_10: Self = .init(5, 10, 0)
static let v6_0: Self = .init(6, 0, 0)
static let v6_1: Self = .init(6, 1, 0)

/// Currently supported swift versions for building
static var allActive: [Self] {
[.v5_8, .v5_9, .v5_10, .v6_0]
[.v5_9, .v5_10, .v6_0, .v6_1]
}

var xcodeVersion: String? {
// NB: this is used for display purposes and not critical for compiler selection
switch self {
case .v5_8:
return "Xcode 14.3"
case .v5_9:
return "Xcode 15.2"
case .v5_10:
return "Xcode 15.4"
case .v6_0:
return "Xcode 16.2"
case .v6_1:
return "Xcode 16.3"
default:
return nil
}
Expand Down
1 change: 1 addition & 0 deletions Sources/App/Models/Manifest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ struct Manifest: Decodable, Equatable {
case android // from 5.2
case custom // from 5.6
case driverkit // from 5.5
case freebsd // from 6.1
case ios
case linux
case maccatalyst // from 5.5
Expand Down
48 changes: 24 additions & 24 deletions Tests/AppTests/API+PackageController+GetRoute+ModelTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -484,25 +484,25 @@ extension AllTests.API_PackageController_GetRoute_ModelTests {

do {
let info = BuildInfo(stable: .some(.init(referenceName: "1.2.3",
results: Results(results: [.v5_8: .compatible,
.v5_9: .incompatible,
.v5_10: .unknown,
.v6_0: .compatible]))),
results: Results(results: [.v1: .compatible,
.v2: .incompatible,
.v3: .unknown,
.v4: .compatible]))),
beta: nil,
latest: nil)
#expect(info?.compatibility == [.v1, .v4])
}
do {
let info = BuildInfo(stable: .some(.init(referenceName: "1.2.3",
results: Results(results: [.v5_8: .compatible,
.v5_9: .incompatible,
.v5_10: .unknown,
.v6_0: .compatible]))),
results: Results(results: [.v1: .compatible,
.v2: .incompatible,
.v3: .unknown,
.v4: .compatible]))),
beta: .some(.init(referenceName: "1.2.3-b1",
results: Results(results: [.v5_8: .incompatible,
.v5_9: .incompatible,
.v5_10: .compatible,
.v6_0: .unknown]))),
results: Results(results: [.v1: .incompatible,
.v2: .incompatible,
.v3: .compatible,
.v4: .unknown]))),
latest: nil)
#expect(info?.compatibility == [.v1, .v3, .v4])
}
Expand Down Expand Up @@ -545,18 +545,18 @@ extension AllTests.API_PackageController_GetRoute_ModelTests {

@Test func groupBuildInfo() async throws {
try await withSPIApp { app in
let result1: BuildResults = .init(results: [.v5_8: .compatible,
.v5_9: .compatible,
.v5_10: .compatible,
.v6_0: .compatible])
let result2: BuildResults = .init(results: [.v5_8: .compatible,
.v5_9: .incompatible,
.v5_10: .incompatible,
.v6_0: .incompatible])
let result3: BuildResults = .init(results: [.v5_8: .unknown,
.v5_9: .unknown,
.v5_10: .unknown,
.v6_0: .unknown])
let result1: BuildResults = .init(results: [.v1: .compatible,
.v2: .compatible,
.v3: .compatible,
.v4: .compatible])
let result2: BuildResults = .init(results: [.v1: .compatible,
.v2: .incompatible,
.v3: .incompatible,
.v4: .incompatible])
let result3: BuildResults = .init(results: [.v1: .unknown,
.v2: .unknown,
.v3: .unknown,
.v4: .unknown])
do { // three distinct groups
let buildInfo: BuildInfo = .init(stable: .init(referenceName: "1.2.3", results: result1),
beta: .init(referenceName: "2.0.0-b1", results: result2),
Expand Down
6 changes: 3 additions & 3 deletions Tests/AppTests/API+PackageControllerTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -343,9 +343,9 @@ extension AllTests.API_PackageControllerTests {
#expect(platform.beta?.referenceName == "2.0.0-b1")
let swiftVersion = try #require(res.swiftVersion)
#expect(swiftVersion.latest?.referenceName == "main")
#expect(swiftVersion.latest?.results[.v5_10] == .compatible)
#expect(swiftVersion.latest?.results[.v5_9] == .incompatible)
#expect(swiftVersion.latest?.results[.v5_8] == .unknown)
#expect(swiftVersion.latest?.results[.v3] == .compatible)
#expect(swiftVersion.latest?.results[.v2] == .incompatible)
#expect(swiftVersion.latest?.results[.v1] == .unknown)
#expect(swiftVersion.stable?.referenceName == "1.2.3")
#expect(swiftVersion.beta?.referenceName == "2.0.0-b1")
}
Expand Down
10 changes: 5 additions & 5 deletions Tests/AppTests/AlertingTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ extension AllTests.AlertingTests {
Alerting.BuildInfo.mock(swiftVersion: $0)
}
#expect(all.validateSwiftVersionsPresent() == .ok)
#expect(all.filter { $0.swiftVersion != .v1 }.validateSwiftVersionsPresent() == .failed(reasons: ["Missing Swift version: 5.8"]))
#expect(all.filter { $0.swiftVersion != .v1 && $0.swiftVersion != .v2 }.validateSwiftVersionsPresent() == .failed(reasons: ["Missing Swift version: 5.8", "Missing Swift version: 5.9"]))
#expect(all.filter { $0.swiftVersion != .v1 }.validateSwiftVersionsPresent() == .failed(reasons: ["Missing Swift version: 5.9"]))
#expect(all.filter { $0.swiftVersion != .v1 && $0.swiftVersion != .v2 }.validateSwiftVersionsPresent() == .failed(reasons: ["Missing Swift version: 5.9", "Missing Swift version: 5.10"]))
}

@Test func validatePlatformsSuccessful() throws {
Expand All @@ -57,13 +57,13 @@ extension AllTests.AlertingTests {
Alerting.BuildInfo.mock(swiftVersion: $0, status: .ok)
}
#expect(all.validateSwiftVersionsSuccessful() == .ok)
#expect(all.filter { $0.swiftVersion != .v1 }.validateSwiftVersionsSuccessful() == .failed(reasons: ["Swift version without successful builds: 5.8"]))
#expect(all.filter { $0.swiftVersion != .v1 }.validateSwiftVersionsSuccessful() == .failed(reasons: ["Swift version without successful builds: 5.9"]))
#expect(
Array(all.filter { $0.swiftVersion != .v1 })
.appending(.mock(swiftVersion: .v1, status: .failed))
.validateSwiftVersionsSuccessful() == .failed(reasons: ["Swift version without successful builds: 5.8"])
.validateSwiftVersionsSuccessful() == .failed(reasons: ["Swift version without successful builds: 5.9"])
)
#expect(all.filter { $0.swiftVersion != .v1 && $0.swiftVersion != .v2 }.validateSwiftVersionsSuccessful() == .failed(reasons: ["Swift version without successful builds: 5.8", "Swift version without successful builds: 5.9"]))
#expect(all.filter { $0.swiftVersion != .v1 && $0.swiftVersion != .v2 }.validateSwiftVersionsSuccessful() == .failed(reasons: ["Swift version without successful builds: 5.9", "Swift version without successful builds: 5.10"]))
}

@Test func validateRunnerIdsPresent() throws {
Expand Down
2 changes: 1 addition & 1 deletion Tests/AppTests/ApiTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -817,7 +817,7 @@ extension AllTests.ApiTests {
let badge = try res.content.decode(Badge.self)
#expect(badge.schemaVersion == 1)
#expect(badge.label == "Swift")
#expect(badge.message == "5.9 | 5.8")
#expect(badge.message == "5.10 | 5.9")
#expect(badge.isError == false)
#expect(badge.color == "blue")
#expect(badge.cacheSeconds == 6*3600)
Expand Down
2 changes: 1 addition & 1 deletion Tests/AppTests/BadgeTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import Testing
extension AllTests.BadgeTests {

@Test func badgeMessage_swiftVersions() throws {
#expect(Badge.badgeMessage(swiftVersions: [.v1, .v2, .v3, .v4]) == "6.0 | 5.10 | 5.9 | 5.8")
#expect(Badge.badgeMessage(swiftVersions: [.v1, .v2, .v3, .v4]) == "6.1 | 6.0 | 5.10 | 5.9")
#expect(Badge.badgeMessage(swiftVersions: []) == nil)
}

Expand Down
4 changes: 2 additions & 2 deletions Tests/AppTests/BuildIndexModelTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ extension AllTests.BuildIndexModelTests {
let matrix = model.buildMatrix

// validate
#expect(matrix.values.keys.count == 27)
#expect(matrix.values.keys.count == 28)
#expect(
matrix.values[.init(swiftVersion: .v3, platform: .iOS)]?.map(\.column.label) == ["1.2.3", "2.0.0-b1", "main"]
)
Expand Down Expand Up @@ -141,7 +141,7 @@ extension AllTests.BuildIndexModelTests {
let matrix = model.buildMatrix

// validate
#expect(matrix.values.keys.count == 27)
#expect(matrix.values.keys.count == 28)
#expect(
matrix.values[.init(swiftVersion: .v3, platform: .iOS)]?.map(\.column.label) == ["1.2.3", "main"]
)
Expand Down
Loading
Loading