Build Information
Failed to build swift-log-supabase with Swift 6.0 for Linux.
Build Command
bash -c docker run --rm -v "checkouts-4609320-1":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/binaryscraping/swift-log-supabase.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/binaryscraping/swift-log-supabase
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at b16c693 Update README.md
Cloned https://github.com/binaryscraping/swift-log-supabase.git
Revision (git rev-parse @):
b16c693ce4952b5cfc7be595e45213cebc1979d0
SUCCESS checkout https://github.com/binaryscraping/swift-log-supabase.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $workDir
https://github.com/binaryscraping/swift-log-supabase.git
Running build ...
bash -c docker run --rm -v "checkouts-4609320-1":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Fetching https://github.com/apple/swift-log
[1/3361] Fetching swift-log
Fetched https://github.com/apple/swift-log from cache (0.41s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.4.2 (0.53s)
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.4.2
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/7] Emitting module Logging
[5/7] Compiling Logging Locks.swift
[6/7] Compiling Logging LogHandler.swift
[7/7] Compiling Logging Logging.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[9/12] Compiling SupabaseLogging LogEntry.swift
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:48:13: warning: let 'dateFormatter' is not concurrency-safe because non-'Sendable' type 'DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
46 | }
47 |
48 | private let dateFormatter = { () -> DateFormatter in
| `- warning: let 'dateFormatter' is not concurrency-safe because non-'Sendable' type 'DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
49 | let formatter = DateFormatter()
50 | formatter.locale = Locale(identifier: "en_US_POSIX")
Foundation.DateFormatter:1:12: note: class 'DateFormatter' does not conform to the 'Sendable' protocol
1 | open class DateFormatter : Formatter {
| `- note: class 'DateFormatter' does not conform to the 'Sendable' protocol
2 | override public init()
3 | required public init?(coder: NSCoder)
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
2 | import Logging
3 |
:
46 | }
47 |
48 | private let dateFormatter = { () -> DateFormatter in
| |- note: annotate 'dateFormatter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 | let formatter = DateFormatter()
50 | formatter.locale = Locale(identifier: "en_US_POSIX")
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:56:5: warning: let 'decoder' is not concurrency-safe because non-'Sendable' type 'JSONDecoder' may have shared mutable state; this is an error in the Swift 6 language mode
54 | }()
55 |
56 | let decoder = { () -> JSONDecoder in
| |- warning: let 'decoder' is not concurrency-safe because non-'Sendable' type 'JSONDecoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'decoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | let decoder = JSONDecoder()
58 | decoder.dateDecodingStrategy = .formatted(dateFormatter)
Foundation.JSONDecoder:1:12: note: class 'JSONDecoder' does not conform to the 'Sendable' protocol
1 | open class JSONDecoder {
| `- note: class 'JSONDecoder' does not conform to the 'Sendable' protocol
2 | public enum DateDecodingStrategy {
3 | case deferredToDate
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:63:5: warning: let 'encoder' is not concurrency-safe because non-'Sendable' type 'JSONEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
61 | }()
62 |
63 | let encoder = { () -> JSONEncoder in
| |- warning: let 'encoder' is not concurrency-safe because non-'Sendable' type 'JSONEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'encoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | let encoder = JSONEncoder()
65 | encoder.dateEncodingStrategy = .formatted(dateFormatter)
Foundation.JSONEncoder:1:12: note: class 'JSONEncoder' does not conform to the 'Sendable' protocol
1 | open class JSONEncoder {
| `- note: class 'JSONEncoder' does not conform to the 'Sendable' protocol
2 | public struct OutputFormatting : OptionSet {
3 | public let rawValue: UInt
[10/12] Compiling SupabaseLogging LogsCache.swift
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:56:5: warning: let 'decoder' is not concurrency-safe because non-'Sendable' type 'JSONDecoder' may have shared mutable state; this is an error in the Swift 6 language mode
54 | }()
55 |
56 | let decoder = { () -> JSONDecoder in
| `- warning: let 'decoder' is not concurrency-safe because non-'Sendable' type 'JSONDecoder' may have shared mutable state; this is an error in the Swift 6 language mode
57 | let decoder = JSONDecoder()
58 | decoder.dateDecodingStrategy = .formatted(dateFormatter)
Foundation.JSONDecoder:1:12: note: class 'JSONDecoder' does not conform to the 'Sendable' protocol
1 | open class JSONDecoder {
| `- note: class 'JSONDecoder' does not conform to the 'Sendable' protocol
2 | public enum DateDecodingStrategy {
3 | case deferredToDate
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
2 | import Logging
3 |
:
54 | }()
55 |
56 | let decoder = { () -> JSONDecoder in
| |- note: annotate 'decoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | let decoder = JSONDecoder()
58 | decoder.dateDecodingStrategy = .formatted(dateFormatter)
[11/12] Emitting module SupabaseLogging
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:48:13: warning: let 'dateFormatter' is not concurrency-safe because non-'Sendable' type 'DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
46 | }
47 |
48 | private let dateFormatter = { () -> DateFormatter in
| `- warning: let 'dateFormatter' is not concurrency-safe because non-'Sendable' type 'DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
49 | let formatter = DateFormatter()
50 | formatter.locale = Locale(identifier: "en_US_POSIX")
Foundation.DateFormatter:1:12: note: class 'DateFormatter' does not conform to the 'Sendable' protocol
1 | open class DateFormatter : Formatter {
| `- note: class 'DateFormatter' does not conform to the 'Sendable' protocol
2 | override public init()
3 | required public init?(coder: NSCoder)
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
2 | import Logging
3 |
:
46 | }
47 |
48 | private let dateFormatter = { () -> DateFormatter in
| |- note: annotate 'dateFormatter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 | let formatter = DateFormatter()
50 | formatter.locale = Locale(identifier: "en_US_POSIX")
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:56:5: warning: let 'decoder' is not concurrency-safe because non-'Sendable' type 'JSONDecoder' may have shared mutable state; this is an error in the Swift 6 language mode
54 | }()
55 |
56 | let decoder = { () -> JSONDecoder in
| |- warning: let 'decoder' is not concurrency-safe because non-'Sendable' type 'JSONDecoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'decoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | let decoder = JSONDecoder()
58 | decoder.dateDecodingStrategy = .formatted(dateFormatter)
Foundation.JSONDecoder:1:12: note: class 'JSONDecoder' does not conform to the 'Sendable' protocol
1 | open class JSONDecoder {
| `- note: class 'JSONDecoder' does not conform to the 'Sendable' protocol
2 | public enum DateDecodingStrategy {
3 | case deferredToDate
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:63:5: warning: let 'encoder' is not concurrency-safe because non-'Sendable' type 'JSONEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
61 | }()
62 |
63 | let encoder = { () -> JSONEncoder in
| |- warning: let 'encoder' is not concurrency-safe because non-'Sendable' type 'JSONEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'encoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | let encoder = JSONEncoder()
65 | encoder.dateEncodingStrategy = .formatted(dateFormatter)
Foundation.JSONEncoder:1:12: note: class 'JSONEncoder' does not conform to the 'Sendable' protocol
1 | open class JSONEncoder {
| `- note: class 'JSONEncoder' does not conform to the 'Sendable' protocol
2 | public struct OutputFormatting : OptionSet {
3 | public let rawValue: UInt
/host/spi-builder-workspace/Sources/SupabaseLogging/SupabaseLogHandler.swift:74:22: warning: static property 'instances' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
72 | private static let queue = DispatchQueue(
73 | label: "co.binaryscraping.supabase-log-manager.instances")
74 | private static var instances: [SupabaseLogConfig: SupabaseLogManager] = [:]
| |- warning: static property 'instances' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'instances' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'instances' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 |
76 | static func shared(_ config: SupabaseLogConfig) -> SupabaseLogManager {
/host/spi-builder-workspace/Sources/SupabaseLogging/SupabaseLogHandler.swift:125:4: error: Objective-C interoperability is disabled
123 | }
124 |
125 | @objc
| `- error: Objective-C interoperability is disabled
126 | private func checkForLogsAndSend() {
127 | let logs = cache.pop()
/host/spi-builder-workspace/Sources/SupabaseLogging/SupabaseLogHandler.swift:175:4: error: Objective-C interoperability is disabled
173 |
174 | extension SupabaseLogManager {
175 | @objc func appWillTerminate() {
| `- error: Objective-C interoperability is disabled
176 | if config.isDebug {
177 | print(#function)
[12/12] Compiling SupabaseLogging SupabaseLogHandler.swift
/host/spi-builder-workspace/Sources/SupabaseLogging/SupabaseLogHandler.swift:74:22: warning: static property 'instances' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
72 | private static let queue = DispatchQueue(
73 | label: "co.binaryscraping.supabase-log-manager.instances")
74 | private static var instances: [SupabaseLogConfig: SupabaseLogManager] = [:]
| |- warning: static property 'instances' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'instances' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'instances' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 |
76 | static func shared(_ config: SupabaseLogConfig) -> SupabaseLogManager {
/host/spi-builder-workspace/Sources/SupabaseLogging/SupabaseLogHandler.swift:125:4: error: Objective-C interoperability is disabled
123 | }
124 |
125 | @objc
| `- error: Objective-C interoperability is disabled
126 | private func checkForLogsAndSend() {
127 | let logs = cache.pop()
/host/spi-builder-workspace/Sources/SupabaseLogging/SupabaseLogHandler.swift:175:4: error: Objective-C interoperability is disabled
173 |
174 | extension SupabaseLogManager {
175 | @objc func appWillTerminate() {
| `- error: Objective-C interoperability is disabled
176 | if config.isDebug {
177 | print(#function)
/host/spi-builder-workspace/Sources/SupabaseLogging/SupabaseLogHandler.swift:115:17: error: '#selector' can only be used with the Objective-C runtime
113 | sendTimer = Timer.scheduledTimer(
114 | timeInterval: minimumWaitTimeBetweenRequests, target: self,
115 | selector: #selector(checkForLogsAndSend), userInfo: nil, repeats: true)
| `- error: '#selector' can only be used with the Objective-C runtime
116 |
117 | // Fire the timer to attempt to send any cached logs from a previous session.
/host/spi-builder-workspace/Sources/SupabaseLogging/SupabaseLogHandler.swift:138:19: error: cannot find 'URLRequest' in scope
136 | }
137 |
138 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
139 | request.httpMethod = "POST"
140 | request.addValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/SupabaseLogging/SupabaseLogHandler.swift:145:42: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
143 | request.httpBody = data
144 |
145 | let config = URLSessionConfiguration.default
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
146 | config.waitsForConnectivity = true
147 | let session = URLSession(configuration: config)
/host/spi-builder-workspace/Sources/SupabaseLogging/SupabaseLogHandler.swift:147:19: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
145 | let config = URLSessionConfiguration.default
146 | config.waitsForConnectivity = true
147 | let session = URLSession(configuration: config)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
148 |
149 | session.dataTask(with: request) { _, response, error in
/host/spi-builder-workspace/Sources/SupabaseLogging/SupabaseLogHandler.swift:157:37: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
155 | guard
156 | let httpResponse = response as? HTTPURLResponse,
157 | 200..<300 ~= httpResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
158 | else {
159 | throw URLError(.badServerResponse)
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:63:5: warning: let 'encoder' is not concurrency-safe because non-'Sendable' type 'JSONEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
61 | }()
62 |
63 | let encoder = { () -> JSONEncoder in
| `- warning: let 'encoder' is not concurrency-safe because non-'Sendable' type 'JSONEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
64 | let encoder = JSONEncoder()
65 | encoder.dateEncodingStrategy = .formatted(dateFormatter)
Foundation.JSONEncoder:1:12: note: class 'JSONEncoder' does not conform to the 'Sendable' protocol
1 | open class JSONEncoder {
| `- note: class 'JSONEncoder' does not conform to the 'Sendable' protocol
2 | public struct OutputFormatting : OptionSet {
3 | public let rawValue: UInt
/host/spi-builder-workspace/Sources/SupabaseLogging/LogEntry.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
2 | import Logging
3 |
:
61 | }()
62 |
63 | let encoder = { () -> JSONEncoder in
| |- note: annotate 'encoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | let encoder = JSONEncoder()
65 | encoder.dateEncodingStrategy = .formatted(dateFormatter)
BUILD FAILURE 6.0 linux