Skip to content

Commit 6f4009c

Browse files
[codex] update to latest development snapshot toolchain (#763)
* Use latest snapshot toolchain * Use native build system for examples * Use native build system in PackageToJS tests * Fix build-examples CI hang * Apply formatter output * Match formatter whitespace
1 parent 8291fb9 commit 6f4009c

11 files changed

Lines changed: 68 additions & 49 deletions

File tree

.github/workflows/test.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
entry:
1515
- os: ubuntu-24.04
1616
toolchain:
17-
download-url: https://download.swift.org/development/ubuntu2404/swift-DEVELOPMENT-SNAPSHOT-2025-12-01-a/swift-DEVELOPMENT-SNAPSHOT-2025-12-01-a-ubuntu24.04.tar.gz
17+
download-url: https://download.swift.org/development/ubuntu2404/swift-DEVELOPMENT-SNAPSHOT-2026-05-27-a/swift-DEVELOPMENT-SNAPSHOT-2026-05-27-a-ubuntu24.04.tar.gz
1818
wasi-backend: Node
1919
target: "wasm32-unknown-wasip1"
2020
env: |
@@ -26,7 +26,7 @@ jobs:
2626
target: "wasm32-unknown-wasip1"
2727
- os: ubuntu-22.04
2828
toolchain:
29-
download-url: https://download.swift.org/development/ubuntu2204/swift-DEVELOPMENT-SNAPSHOT-2025-12-01-a/swift-DEVELOPMENT-SNAPSHOT-2025-12-01-a-ubuntu22.04.tar.gz
29+
download-url: https://download.swift.org/development/ubuntu2204/swift-DEVELOPMENT-SNAPSHOT-2026-05-27-a/swift-DEVELOPMENT-SNAPSHOT-2026-05-27-a-ubuntu22.04.tar.gz
3030
wasi-backend: Node
3131
target: "wasm32-unknown-wasip1-threads"
3232

@@ -143,7 +143,7 @@ jobs:
143143
- uses: actions/checkout@v6
144144
- uses: ./.github/actions/install-swift
145145
with:
146-
download-url: https://download.swift.org/development/ubuntu2204/swift-DEVELOPMENT-SNAPSHOT-2025-09-14-a/swift-DEVELOPMENT-SNAPSHOT-2025-09-14-a-ubuntu22.04.tar.gz
146+
download-url: https://download.swift.org/development/ubuntu2204/swift-DEVELOPMENT-SNAPSHOT-2026-05-27-a/swift-DEVELOPMENT-SNAPSHOT-2026-05-27-a-ubuntu22.04.tar.gz
147147
- run: make bootstrap
148148
- run: ./Utilities/bridge-js-generate.sh
149149
- name: Check if BridgeJS generated files are up-to-date
@@ -160,16 +160,14 @@ jobs:
160160
- uses: actions/checkout@v6
161161
- uses: ./.github/actions/install-swift
162162
with:
163-
download-url: https://download.swift.org/development/ubuntu2204/swift-DEVELOPMENT-SNAPSHOT-2026-03-09-a/swift-DEVELOPMENT-SNAPSHOT-2026-03-09-a-ubuntu22.04.tar.gz
163+
download-url: https://download.swift.org/development/ubuntu2204/swift-DEVELOPMENT-SNAPSHOT-2026-05-27-a/swift-DEVELOPMENT-SNAPSHOT-2026-05-27-a-ubuntu22.04.tar.gz
164164
- uses: swiftwasm/setup-swiftwasm@v2
165165
id: setup-wasm32-unknown-wasip1
166166
with: { target: wasm32-unknown-wasip1 }
167167
- uses: swiftwasm/setup-swiftwasm@v2
168168
id: setup-wasm32-unknown-wasip1-threads
169169
with: { target: wasm32-unknown-wasip1-threads }
170-
- run: |
171-
swift --version
172-
./Utilities/build-examples.sh
170+
- run: ./Utilities/build-examples.sh
173171
env:
174172
SWIFT_SDK_ID_wasm32_unknown_wasip1_threads: ${{ steps.setup-wasm32-unknown-wasip1-threads.outputs.swift-sdk-id }}
175173
SWIFT_SDK_ID_wasm32_unknown_wasip1: ${{ steps.setup-wasm32-unknown-wasip1.outputs.swift-sdk-id }}

Examples/ActorOnWebWorker/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
22
set -euxo pipefail
3-
swift package --swift-sdk "${SWIFT_SDK_ID_wasm32_unknown_wasip1_threads:-${SWIFT_SDK_ID:-wasm32-unknown-wasip1-threads}}" \
3+
swift package --build-system native --swift-sdk "${SWIFT_SDK_ID_wasm32_unknown_wasip1_threads:-${SWIFT_SDK_ID:-wasm32-unknown-wasip1-threads}}" \
44
plugin --allow-writing-to-package-directory \
55
js --use-cdn --output ./Bundle -c release

Examples/Basic/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22
set -euxo pipefail
3-
swift package --swift-sdk "${SWIFT_SDK_ID_wasm32_unknown_wasip1:-${SWIFT_SDK_ID:-wasm32-unknown-wasip1}}" js --use-cdn -c "${1:-debug}"
3+
swift package --build-system native --swift-sdk "${SWIFT_SDK_ID_wasm32_unknown_wasip1:-${SWIFT_SDK_ID:-wasm32-unknown-wasip1}}" js --use-cdn -c "${1:-debug}"

Examples/Embedded/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
22
set -euxo pipefail
33
package_dir="$(cd "$(dirname "$0")" && pwd)"
4-
swift package --package-path "$package_dir" \
4+
swift package --build-system native --package-path "$package_dir" \
55
--swift-sdk "${SWIFT_SDK_ID_wasm32_unknown_wasip1:-${SWIFT_SDK_ID:-wasm32-unknown-wasip1}}-embedded" js -c release

Examples/Multithreading/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
22
set -euxo pipefail
3-
swift package --swift-sdk "${SWIFT_SDK_ID_wasm32_unknown_wasip1_threads:-${SWIFT_SDK_ID:-wasm32-unknown-wasip1-threads}}" \
3+
swift package --build-system native --swift-sdk "${SWIFT_SDK_ID_wasm32_unknown_wasip1_threads:-${SWIFT_SDK_ID:-wasm32-unknown-wasip1-threads}}" \
44
plugin --allow-writing-to-package-directory \
55
js --use-cdn --output ./Bundle -c release

Examples/OffscrenCanvas/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
22
set -euxo pipefail
3-
swift package --swift-sdk "${SWIFT_SDK_ID_wasm32_unknown_wasip1_threads:-${SWIFT_SDK_ID:-wasm32-unknown-wasip1-threads}}" \
3+
swift package --build-system native --swift-sdk "${SWIFT_SDK_ID_wasm32_unknown_wasip1_threads:-${SWIFT_SDK_ID:-wasm32-unknown-wasip1-threads}}" \
44
plugin --allow-writing-to-package-directory \
55
js --use-cdn --output ./Bundle -c release

Examples/PlayBridgeJS/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
22
set -euxo pipefail
3-
swift package --swift-sdk "${SWIFT_SDK_ID_wasm32_unknown_wasip1:-${SWIFT_SDK_ID:-wasm32-unknown-wasip1}}" \
3+
swift package --build-system native --swift-sdk "${SWIFT_SDK_ID_wasm32_unknown_wasip1:-${SWIFT_SDK_ID:-wasm32-unknown-wasip1}}" \
44
plugin --allow-writing-to-package-directory \
55
js --use-cdn --output ./Bundle -c "${1:-debug}"

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ unittest:
1616
echo "SWIFT_SDK_ID is not set. Run 'swift sdk list' and pass a matching SDK, e.g. 'make unittest SWIFT_SDK_ID=<id>'."; \
1717
exit 2; \
1818
}
19-
swift package --swift-sdk "$(SWIFT_SDK_ID)" \
19+
swift package --build-system native --swift-sdk "$(SWIFT_SDK_ID)" \
2020
$(TRACING_ARGS) \
2121
--disable-sandbox \
2222
js test --prelude ./Tests/prelude.mjs -Xnode --expose-gc

Plugins/PackageToJS/Tests/ExampleTests.swift

Lines changed: 48 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -246,11 +246,26 @@ extension Trait where Self == ConditionTrait {
246246
func basic() throws {
247247
let swiftSDKID = try #require(Self.getSwiftSDKID())
248248
try withPackage(at: "Examples/Basic") { packageDir, _, runSwift in
249-
try runSwift(["package", "--swift-sdk", swiftSDKID, "js"], [:])
250-
try runSwift(["package", "--swift-sdk", swiftSDKID, "js", "--debug-info-format", "dwarf"], [:])
251-
try runSwift(["package", "--swift-sdk", swiftSDKID, "js", "--debug-info-format", "name"], [:])
249+
try runSwift(["package", "--build-system", "native", "--swift-sdk", swiftSDKID, "js"], [:])
252250
try runSwift(
253-
["package", "--swift-sdk", swiftSDKID, "-Xswiftc", "-DJAVASCRIPTKIT_WITHOUT_WEAKREFS", "js"],
251+
[
252+
"package", "--build-system", "native", "--swift-sdk", swiftSDKID, "js", "--debug-info-format",
253+
"dwarf",
254+
],
255+
[:]
256+
)
257+
try runSwift(
258+
[
259+
"package", "--build-system", "native", "--swift-sdk", swiftSDKID, "js", "--debug-info-format",
260+
"name",
261+
],
262+
[:]
263+
)
264+
try runSwift(
265+
[
266+
"package", "--build-system", "native", "--swift-sdk", swiftSDKID, "-Xswiftc",
267+
"-DJAVASCRIPTKIT_WITHOUT_WEAKREFS", "js",
268+
],
254269
[:]
255270
)
256271
}
@@ -266,7 +281,10 @@ extension Trait where Self == ConditionTrait {
266281
try runProcess(which("npm"), ["install"], [:])
267282
try runProcess(which("npx"), ["playwright", "install", "chromium-headless-shell"], [:])
268283

269-
try runSwift(["package", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test"], [:])
284+
try runSwift(
285+
["package", "--build-system", "native", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test"],
286+
[:]
287+
)
270288
try withTemporaryDirectory(body: { tempDir, _ in
271289
let scriptContent = """
272290
const fs = require('fs');
@@ -278,7 +296,8 @@ extension Trait where Self == ConditionTrait {
278296
let scriptPath = tempDir.appending(path: "script.js")
279297
try runSwift(
280298
[
281-
"package", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test",
299+
"package", "--build-system", "native", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js",
300+
"test",
282301
"-Xnode=--require=\(scriptPath.path)",
283302
],
284303
[:]
@@ -291,7 +310,10 @@ extension Trait where Self == ConditionTrait {
291310
)
292311
})
293312
try runSwift(
294-
["package", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test", "--environment", "browser"],
313+
[
314+
"package", "--build-system", "native", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test",
315+
"--environment", "browser",
316+
],
295317
[:]
296318
)
297319
}
@@ -303,7 +325,10 @@ extension Trait where Self == ConditionTrait {
303325
let swiftPath = try #require(Self.getSwiftPath())
304326
try withPackage(at: "Examples/Testing") { packageDir, runProcess, runSwift in
305327
try runSwift(
306-
["package", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test", "--enable-code-coverage"],
328+
[
329+
"package", "--build-system", "native", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test",
330+
"--enable-code-coverage",
331+
],
307332
[
308333
"LLVM_PROFDATA_PATH": URL(fileURLWithPath: swiftPath).appending(path: "llvm-profdata").path
309334
]
@@ -330,23 +355,23 @@ extension Trait where Self == ConditionTrait {
330355
func multithreading() throws {
331356
let swiftSDKID = try #require(Self.getSwiftSDKID())
332357
try withPackage(at: "Examples/Multithreading") { packageDir, _, runSwift in
333-
try runSwift(["package", "--swift-sdk", swiftSDKID, "js"], [:])
358+
try runSwift(["package", "--build-system", "native", "--swift-sdk", swiftSDKID, "js"], [:])
334359
}
335360
}
336361

337362
@Test(.requireSwiftSDK(triple: "wasm32-unknown-wasip1-threads"))
338363
func offscreenCanvas() throws {
339364
let swiftSDKID = try #require(Self.getSwiftSDKID())
340365
try withPackage(at: "Examples/OffscrenCanvas") { packageDir, _, runSwift in
341-
try runSwift(["package", "--swift-sdk", swiftSDKID, "js"], [:])
366+
try runSwift(["package", "--build-system", "native", "--swift-sdk", swiftSDKID, "js"], [:])
342367
}
343368
}
344369

345370
@Test(.requireSwiftSDK(triple: "wasm32-unknown-wasip1-threads"))
346371
func actorOnWebWorker() throws {
347372
let swiftSDKID = try #require(Self.getSwiftSDKID())
348373
try withPackage(at: "Examples/ActorOnWebWorker") { packageDir, _, runSwift in
349-
try runSwift(["package", "--swift-sdk", swiftSDKID, "js"], [:])
374+
try runSwift(["package", "--build-system", "native", "--swift-sdk", swiftSDKID, "js"], [:])
350375
}
351376
}
352377

@@ -357,7 +382,7 @@ extension Trait where Self == ConditionTrait {
357382
let swiftSDKID = try #require(Self.getEmbeddedSwiftSDKID())
358383
try withPackage(at: "Examples/Embedded") { packageDir, _, runSwift in
359384
try runSwift(
360-
["package", "--swift-sdk", swiftSDKID, "js", "-c", "release"],
385+
["package", "--build-system", "native", "--swift-sdk", swiftSDKID, "js", "-c", "release"],
361386
[
362387
"JAVASCRIPTKIT_EXPERIMENTAL_EMBEDDED_WASM": "true"
363388
]
@@ -373,7 +398,10 @@ extension Trait where Self == ConditionTrait {
373398
at: "Plugins/PackageToJS/Fixtures/ContinuationLeakInTest/XCTest",
374399
assertTerminationStatus: { $0 != 0 }
375400
) { packageDir, _, runSwift in
376-
try runSwift(["package", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test"], [:])
401+
try runSwift(
402+
["package", "--build-system", "native", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test"],
403+
[:]
404+
)
377405
}
378406
}
379407

@@ -385,7 +413,10 @@ extension Trait where Self == ConditionTrait {
385413
at: "Plugins/PackageToJS/Fixtures/ContinuationLeakInTest/SwiftTesting",
386414
assertTerminationStatus: { $0 != 0 }
387415
) { packageDir, _, runSwift in
388-
try runSwift(["package", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test"], [:])
416+
try runSwift(
417+
["package", "--build-system", "native", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test"],
418+
[:]
419+
)
389420
}
390421
}
391422
@Test(.requireSwiftSDK)
@@ -400,7 +431,7 @@ extension Trait where Self == ConditionTrait {
400431

401432
try runSwift(
402433
["package", "--disable-sandbox"] + Self.stackSizeLinkerFlags + [
403-
"--swift-sdk", swiftSDKID, "js", "test", "--environment", "browser",
434+
"--build-system", "native", "--swift-sdk", swiftSDKID, "js", "test", "--environment", "browser",
404435
"--playwright-expose", "../expose.js",
405436
],
406437
[:]
@@ -421,7 +452,8 @@ extension Trait where Self == ConditionTrait {
421452

422453
try runSwift(
423454
[
424-
"package", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test", "--environment", "browser",
455+
"package", "--build-system", "native", "--disable-sandbox", "--swift-sdk", swiftSDKID, "js", "test",
456+
"--environment", "browser",
425457
"--playwright-expose", "../expose.js",
426458
],
427459
[:]

Sources/JavaScriptEventLoop/JavaScriptEventLoop+ExecutorFactory.swift

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -57,25 +57,12 @@ extension JavaScriptEventLoop: SchedulingExecutor {
5757
#endif // #if compiler(>=6.4) (Embedded)
5858
#else // #if hasFeature(Embedded)
5959
let duration: Duration
60-
// Handle clocks we know
6160
if let _ = clock as? ContinuousClock {
6261
duration = delay as! ContinuousClock.Duration
6362
} else if let _ = clock as? SuspendingClock {
6463
duration = delay as! SuspendingClock.Duration
6564
} else {
66-
#if compiler(>=6.4)
67-
// Hand-off the scheduling work to Clock implementation for unknown clocks.
68-
// Clock.enqueue is only available in the development branch (6.4+).
69-
clock.enqueue(
70-
job,
71-
on: self,
72-
at: clock.now.advanced(by: delay),
73-
tolerance: tolerance
74-
)
75-
return
76-
#else
7765
fatalError("Unsupported clock type; only ContinuousClock and SuspendingClock are supported")
78-
#endif // #if compiler(>=6.4) (non-Embedded)
7966
}
8067
let milliseconds = Self.delayInMilliseconds(from: duration)
8168
self.enqueue(

0 commit comments

Comments
 (0)