diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 998a0eb..6f02f0f 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,3 +8,12 @@ updates: dependencies: patterns: - "*" + - package-ecosystem: "swift" + directory: "/" + schedule: + interval: "daily" + groups: + dependencies: + patterns: + - "*" + diff --git a/.github/workflows/api-docs.yml b/.github/workflows/api-docs.yml index 6c32fdb..aa478fd 100644 --- a/.github/workflows/api-docs.yml +++ b/.github/workflows/api-docs.yml @@ -3,6 +3,9 @@ on: push: branches: - main +permissions: + contents: read + id-token: write jobs: build-and-deploy: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8bfdb9b..e0ee76e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,18 @@ on: jobs: unit-tests: + permissions: + contents: read uses: vapor/ci/.github/workflows/run-unit-tests.yml@main secrets: inherit with: with_android: true + + submit-dependencies: + permissions: + contents: write + if: ${{ github.event_name == 'push' }} + uses: vapor/ci/.github/workflows/submit-deps.yml@main + secrets: inherit + + diff --git a/Package.swift b/Package.swift index e60d316..249e878 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.10 +// swift-tools-version:6.0 import PackageDescription let package = Package( @@ -41,8 +41,10 @@ let package = Package( var swiftSettings: [SwiftSetting] { [ .enableUpcomingFeature("ExistentialAny"), - .enableUpcomingFeature("ConciseMagicFile"), - .enableUpcomingFeature("ForwardTrailingClosures"), - .enableUpcomingFeature("DisableOutwardActorInference"), - .enableExperimentalFeature("StrictConcurrency=complete"), + // .enableUpcomingFeature("InternalImportsByDefault"), + .enableUpcomingFeature("MemberImportVisibility"), + .enableUpcomingFeature("InferIsolatedConformances"), + // .enableUpcomingFeature("NonisolatedNonsendingByDefault"), + .enableUpcomingFeature("ImmutableWeakCaptures"), ] } + diff --git a/README.md b/README.md index 808e9f7..53ec502 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ Team Chat MIT License Continuous Integration - -Swift 5.10+ +Code Coverage +Swift 6.0+


diff --git a/Sources/FluentSQLiteDriver/Docs.docc/Resources/vapor-fluentsqlitedriver-logo.svg b/Sources/FluentSQLiteDriver/Docs.docc/Resources/vapor-fluentsqlitedriver-logo.svg index 9cd158a..aa1fa64 100644 --- a/Sources/FluentSQLiteDriver/Docs.docc/Resources/vapor-fluentsqlitedriver-logo.svg +++ b/Sources/FluentSQLiteDriver/Docs.docc/Resources/vapor-fluentsqlitedriver-logo.svg @@ -1,21 +1,26 @@ - - - + + + - - - + + + - - - + + + - - + + + diff --git a/Sources/FluentSQLiteDriver/Docs.docc/theme-settings.json b/Sources/FluentSQLiteDriver/Docs.docc/theme-settings.json index 8193a93..f1b0e60 100644 --- a/Sources/FluentSQLiteDriver/Docs.docc/theme-settings.json +++ b/Sources/FluentSQLiteDriver/Docs.docc/theme-settings.json @@ -1,6 +1,6 @@ { "theme": { - "aside": { "border-radius": "16px", "border-style": "double", "border-width": "3px" }, + "aside": { "border-radius": "16px", "border-width": "3px", "border-style": "double" }, "border-radius": "0", "button": { "border-radius": "16px", "border-width": "1px", "border-style": "solid" }, "code": { "border-radius": "16px", "border-width": "1px", "border-style": "solid" }, @@ -8,9 +8,9 @@ "fluentsqlitedriver": "hsl(215, 45%, 58%)", "documentation-intro-fill": "radial-gradient(circle at top, var(--color-fluentsqlitedriver) 30%, #000 100%)", "documentation-intro-accent": "var(--color-fluentsqlitedriver)", - "documentation-intro-eyebrow": "white", + "hero-eyebrow": "white", "documentation-intro-figure": "white", - "documentation-intro-title": "white", + "hero-title": "white", "logo-base": { "dark": "#fff", "light": "#000" }, "logo-shape": { "dark": "#000", "light": "#fff" }, "fill": { "dark": "#000", "light": "#fff" } diff --git a/Sources/FluentSQLiteDriver/FluentSQLiteDatabase.swift b/Sources/FluentSQLiteDriver/FluentSQLiteDatabase.swift index a13d32d..79160fe 100644 --- a/Sources/FluentSQLiteDriver/FluentSQLiteDatabase.swift +++ b/Sources/FluentSQLiteDriver/FluentSQLiteDatabase.swift @@ -67,11 +67,11 @@ struct FluentSQLiteDatabase: Database, SQLDatabase, SQLiteDatabase { self.eventLoop.makeSucceededFuture(()) } - func withConnection(_ closure: @escaping @Sendable (any Database) -> EventLoopFuture) -> EventLoopFuture { + func withConnection(_ closure: @escaping @Sendable (any Database) -> EventLoopFuture) -> EventLoopFuture { self.eventLoop.makeFutureWithTask { try await self.withConnection { try await closure($0).get() } } } - func withConnection(_ closure: @escaping @Sendable (any Database) async throws -> T) async throws -> T { + func withConnection(_ closure: @escaping @Sendable (any Database) async throws -> T) async throws -> T { try await self.withConnection { try await closure( FluentSQLiteDatabase( @@ -85,11 +85,11 @@ struct FluentSQLiteDatabase: Database, SQLDatabase, SQLiteDatabase { } } - func transaction(_ closure: @escaping @Sendable (any Database) -> EventLoopFuture) -> EventLoopFuture { + func transaction(_ closure: @escaping @Sendable (any Database) -> EventLoopFuture) -> EventLoopFuture { self.inTransaction ? closure(self) : self.eventLoop.makeFutureWithTask { try await self.transaction { try await closure($0).get() } } } - func transaction(_ closure: @escaping @Sendable (any Database) async throws -> T) async throws -> T { + func transaction(_ closure: @escaping @Sendable (any Database) async throws -> T) async throws -> T { guard !self.inTransaction else { return try await closure(self) } diff --git a/Tests/FluentSQLiteDriverTests/FluentSQLiteDriverTests.swift b/Tests/FluentSQLiteDriverTests/FluentSQLiteDriverTests.swift index 720372e..109f458 100644 --- a/Tests/FluentSQLiteDriverTests/FluentSQLiteDriverTests.swift +++ b/Tests/FluentSQLiteDriverTests/FluentSQLiteDriverTests.swift @@ -235,7 +235,7 @@ func env(_ name: String) -> String? { let isLoggingConfigured: Bool = { LoggingSystem.bootstrap { label in var handler = StreamLogHandler.standardOutput(label: label) - handler.logLevel = env("LOG_LEVEL").flatMap { .init(rawValue: $0) } ?? .debug + handler.logLevel = env("LOG_LEVEL").flatMap { .init(rawValue: $0) } ?? .info return handler } return true