Skip to content

Commit b4eee25

Browse files
committed
Swift 6.0
1 parent a23f7f8 commit b4eee25

File tree

7 files changed

+58
-30
lines changed

7 files changed

+58
-30
lines changed

.github/workflows/build.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: build
2+
3+
on:
4+
pull_request: { types: [opened, reopened, synchronize] }
5+
6+
jobs:
7+
build:
8+
runs-on: runs-on=${{ github.run_id }}/cpu=8/ram=32/family=m7a/image=ubuntu24-full-x64/spot=false
9+
10+
timeout-minutes: 60
11+
12+
container: swift:6.0-jammy
13+
14+
defaults:
15+
run:
16+
shell: bash
17+
18+
env:
19+
SWIFT_BACKTRACE: "enable=yes,sanitize=yes,threads=all,images=all,interactive=no,symbolicate=fast,limit=none"
20+
21+
steps:
22+
- name: Configure git
23+
run: git config --global --add safe.directory '*'
24+
25+
- name: Check out ${{ github.event.repository.name }}
26+
uses: actions/checkout@v4
27+
28+
- name: Build ${{ github.event.repository.name }}
29+
run: swift build --force-resolved-versions -v -j 1

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ concurrency:
33
group: ${{ github.workflow }}-${{ github.ref }}
44
cancel-in-progress: true
55
on:
6-
pull_request: { types: [opened, reopened, synchronize, ready_for_review] }
6+
# pull_request: { types: [opened, reopened, synchronize, ready_for_review] }
77
push: { branches: [main] }
88

99
jobs:

Lambdas/GHHooks/Extensions/Embed+Equtable.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import DiscordModels
22

3-
extension Embed: @retroactive Equatable {
3+
extension DiscordModels.Embed: Equatable {
44
public static func == (lhs: Embed, rhs: Embed) -> Bool {
55
lhs.title == rhs.title && lhs.type == rhs.type && lhs.description == rhs.description && lhs.url == rhs.url
66
&& lhs.timestamp?.date == rhs.timestamp?.date && lhs.color == rhs.color && lhs.footer == rhs.footer
@@ -9,34 +9,34 @@ extension Embed: @retroactive Equatable {
99
}
1010
}
1111

12-
extension Embed.Media: @retroactive Equatable {
12+
extension DiscordModels.Embed.Media: Equatable {
1313
public static func == (lhs: Embed.Media, rhs: Embed.Media) -> Bool {
1414
lhs.url.asString == rhs.url.asString && lhs.proxy_url ?== rhs.proxy_url && lhs.height ?== rhs.height
1515
&& lhs.width ?== rhs.width
1616
}
1717
}
1818

19-
extension Embed.Footer: @retroactive Equatable {
19+
extension DiscordModels.Embed.Footer: Equatable {
2020
public static func == (lhs: Embed.Footer, rhs: Embed.Footer) -> Bool {
2121
lhs.icon_url?.asString == rhs.icon_url?.asString && lhs.text == rhs.text && lhs.proxy_icon_url
2222
?== rhs.proxy_icon_url
2323
}
2424
}
2525

26-
extension Embed.Provider: @retroactive Equatable {
26+
extension DiscordModels.Embed.Provider: Equatable {
2727
public static func == (lhs: Embed.Provider, rhs: Embed.Provider) -> Bool {
2828
lhs.url == rhs.url && lhs.name == rhs.name
2929
}
3030
}
3131

32-
extension Embed.Author: @retroactive Equatable {
32+
extension DiscordModels.Embed.Author: Equatable {
3333
public static func == (lhs: Embed.Author, rhs: Embed.Author) -> Bool {
3434
lhs.url == rhs.url && lhs.icon_url?.asString == rhs.icon_url?.asString && lhs.name == rhs.name
3535
&& lhs.proxy_icon_url ?== rhs.proxy_icon_url
3636
}
3737
}
3838

39-
extension Embed.Field: @retroactive Equatable {
39+
extension DiscordModels.Embed.Field: Equatable {
4040
public static func == (lhs: Embed.Field, rhs: Embed.Field) -> Bool {
4141
lhs.name == rhs.name && lhs.value == rhs.value && lhs.inline ?== rhs.inline
4242
}

Package.resolved

Lines changed: 15 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
// swift-tools-version:6.0
1+
// swift-tools-version:5.10
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33

44
import PackageDescription
55

66
let package = Package(
77
name: "Penny",
88
platforms: [
9-
.macOS(.v15)
9+
.macOS(.v14)
1010
],
1111
dependencies: [
1212
.package(url: "https://github.com/apple/swift-nio.git", from: "2.57.0"),
1313
.package(url: "https://github.com/swift-server/async-http-client.git", from: "1.21.0"),
1414
.package(url: "https://github.com/apple/swift-crypto.git", from: "3.1.0"),
1515
.package(url: "https://github.com/apple/swift-collections.git", from: "1.0.0"),
16-
.package(url: "https://github.com/vapor/jwt-kit.git", from: "5.0.1"),
16+
.package(url: "https://github.com/vapor/jwt-kit.git", exact: "5.0.0-rc.1"),
1717
.package(url: "https://github.com/apple/swift-atomics.git", from: "1.1.0"),
1818
.package(url: "https://github.com/apple/swift-log.git", from: "1.5.2"),
1919
.package(url: "https://github.com/apple/swift-algorithms", from: "1.0.0"),
@@ -115,6 +115,7 @@ let package = Package(
115115
.target(
116116
name: "LambdasShared",
117117
dependencies: [
118+
.product(name: "AWSLambdaEvents", package: "swift-aws-lambda-events"),
118119
.product(name: "SotoSecretsManager", package: "soto"),
119120
.product(name: "SotoCore", package: "soto-core"),
120121
.product(name: "Logging", package: "swift-log"),
@@ -232,7 +233,6 @@ var testsSwiftSettings: [SwiftSetting] {
232233
}
233234

234235
extension PackageDescription.Target {
235-
@MainActor
236236
static func lambdaTarget(
237237
name: String,
238238
additionalDependencies: [PackageDescription.Target.Dependency]

Sources/Penny/Handlers/ReactionHandler/ReactionCache.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,9 +217,9 @@ extension Calendar {
217217
}
218218

219219
// MARK: +Emoji
220-
extension Emoji: @retroactive Equatable {}
221-
extension Emoji: @retroactive Hashable {
222-
public static func == (lhs: Emoji, rhs: Emoji) -> Bool {
220+
extension DiscordModels.Emoji: Equatable {}
221+
extension DiscordModels.Emoji: Hashable {
222+
public static func == (lhs: DiscordModels.Emoji, rhs: DiscordModels.Emoji) -> Bool {
223223
switch (lhs.id, rhs.id) {
224224
case let (.some(id1), .some(id2)):
225225
return id1 == id2

Sources/Shared/BackgroundProcessor.swift

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import ServiceLifecycle
2-
import Synchronization
32

43
package final class BackgroundProcessor: Service {
54
package typealias WorkItem = @Sendable () async -> Void
@@ -15,16 +14,7 @@ package final class BackgroundProcessor: Service {
1514

1615
package func run() async {
1716
await withTaskGroup(of: Void.self) { taskGroup in
18-
let maxConcurrentTasks = 8
19-
let workIndex = Atomic(UInt(0))
20-
2117
for await work in self.stream.cancelOnGracefulShutdown() {
22-
let index = workIndex.add(1, ordering: .relaxed).oldValue
23-
if index >= maxConcurrentTasks {
24-
/// Wait for the next task first,
25-
/// as a way of limiting how many tasks are concurrently run
26-
_ = await taskGroup.next()
27-
}
2818
taskGroup.addTask {
2919
await work()
3020
}

0 commit comments

Comments
 (0)