Skip to content

Commit 49d3cd8

Browse files
authored
Bump to Swift 6.1 toolchain (#1)
* Bump to Swift 6.1 toolchain * Add toolchain fix patch
1 parent de81c14 commit 49d3cd8

File tree

6 files changed

+53
-10
lines changed

6 files changed

+53
-10
lines changed

.github/scripts/fix-toolchain.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# Find the path to swift binary
5+
SWIFT_PATH=$(which swift)
6+
echo "Swift binary found at: $SWIFT_PATH"
7+
8+
# Extract the toolchain path from swift binary path
9+
# Remove /usr/bin/swift from the path to get the toolchain root
10+
TOOLCHAIN_ROOT=$(dirname $(dirname "$SWIFT_PATH"))
11+
echo "Toolchain root: $TOOLCHAIN_ROOT"
12+
13+
# Construct the path to CFBase.h
14+
CFBASE_PATH="$TOOLCHAIN_ROOT/lib/swift/CoreFoundation/CFBase.h"
15+
echo "Looking for CFBase.h at: $CFBASE_PATH"
16+
17+
# Check if the file exists
18+
if [ -f "$CFBASE_PATH" ]; then
19+
echo "Found CFBase.h, applying patch..."
20+
21+
# Create a backup of the original file
22+
cp "$CFBASE_PATH" "$CFBASE_PATH.bak"
23+
24+
# Replace the include line
25+
sed -i 's/#include <ptrauth.h>/\/\/ #include <ptrauth.h>/g' "$CFBASE_PATH"
26+
27+
echo "Patch applied successfully."
28+
echo "Original file backed up at $CFBASE_PATH.bak"
29+
else
30+
echo "ERROR: Could not find CFBase.h in expected location."
31+
echo "Toolchain structure may be different than expected."
32+
exit 1
33+
fi

.github/workflows/compatibility_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
matrix:
1515
include:
1616
- os: macos-15
17-
xcode-version: "16.0" # Swift 6.0
17+
xcode-version: "16.3" # Swift 6.1
1818
runs-on: ${{ matrix.os }}
1919
env:
2020
OPENBOX_WERROR: 1

.github/workflows/ios.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
os: [macos-15]
16-
xcode-version: ["16.0"] # Swift 6.0
16+
xcode-version: ["16.3"] # Swift 6.1
1717
ios-version: ["18.0"]
1818
include:
1919
- ios-version: "18.0"

.github/workflows/macos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
os: [macos-15]
16-
xcode-version: [16.0] # Swift 6.0
16+
xcode-version: [16.3] # Swift 6.1
1717
runs-on: ${{ matrix.os }}
1818
env:
1919
OPENBOX_WERROR: 1

.github/workflows/ubuntu.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
swift_version: ["6.0"]
15+
swift_version: ["6.1"]
1616
runs-on: ubuntu-22.04
1717
env:
1818
OPENBOX_WERROR: 1
@@ -24,6 +24,10 @@ jobs:
2424
- name: Swift version
2525
run: |
2626
which swift && swift --version
27+
- name: Toolchain fix patch
28+
run: |
29+
# Fix swift-corelibs-foundation#5211
30+
.github/scripts/fix-toolchain.sh
2731
- name: Building and running tests in debug mode with coverage
2832
run: |
2933
swift test \

README.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,25 @@ RenderBox is a high performance rendering engine written in C++.
1212

1313
And it powers the underlying rendering of SwiftUI.
1414

15+
The project is for the following purposes:
16+
- Add RB support for non-Apple platform (eg. Linux, WASI and Windows)
17+
- Diagnose and debug RB issues on Apple platform
18+
19+
Currently, this project is in early development.
20+
21+
## Build
22+
23+
The current suggested toolchain to build the project is Swift 6.1 / Xcode 16.3.
24+
25+
## Supported platforms
26+
1527
| **CI Status** |
1628
|---|
1729
|[![Compatibility tests](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/compatibility_tests.yml/badge.svg)](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/compatibility_tests.yml)|
1830
|[![macOS](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/macos.yml/badge.svg)](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/macos.yml)|
1931
|[![iOS](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/ios.yml/badge.svg)](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/ios.yml)|
2032
|[![Ubuntu](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/ubuntu.yml/badge.svg)](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/ubuntu.yml)|
2133

22-
The project is for the following purposes:
23-
- Add OB support for non-Apple platform (eg. Linux, WASI and Windows)
24-
- Diagnose and debug RB issues on Apple platform
25-
26-
Currently, this project is in early development.
27-
2834
## License
2935

3036
See LICENSE file - MIT

0 commit comments

Comments
 (0)