Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/scripts/fix-toolchain.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/bin/bash
set -e

# Find the path to swift binary
SWIFT_PATH=$(which swift)
echo "Swift binary found at: $SWIFT_PATH"

# Extract the toolchain path from swift binary path
# Remove /usr/bin/swift from the path to get the toolchain root
TOOLCHAIN_ROOT=$(dirname $(dirname "$SWIFT_PATH"))
echo "Toolchain root: $TOOLCHAIN_ROOT"

# Construct the path to CFBase.h
CFBASE_PATH="$TOOLCHAIN_ROOT/lib/swift/CoreFoundation/CFBase.h"
echo "Looking for CFBase.h at: $CFBASE_PATH"

# Check if the file exists
if [ -f "$CFBASE_PATH" ]; then
echo "Found CFBase.h, applying patch..."

# Create a backup of the original file
cp "$CFBASE_PATH" "$CFBASE_PATH.bak"

# Replace the include line
sed -i 's/#include <ptrauth.h>/\/\/ #include <ptrauth.h>/g' "$CFBASE_PATH"

echo "Patch applied successfully."
echo "Original file backed up at $CFBASE_PATH.bak"
else
echo "ERROR: Could not find CFBase.h in expected location."
echo "Toolchain structure may be different than expected."
exit 1
fi
2 changes: 1 addition & 1 deletion .github/workflows/compatibility_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
matrix:
include:
- os: macos-15
xcode-version: "16.0" # Swift 6.0
xcode-version: "16.3" # Swift 6.1
runs-on: ${{ matrix.os }}
env:
OPENBOX_WERROR: 1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-15]
xcode-version: ["16.0"] # Swift 6.0
xcode-version: ["16.3"] # Swift 6.1
ios-version: ["18.0"]
include:
- ios-version: "18.0"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-15]
xcode-version: [16.0] # Swift 6.0
xcode-version: [16.3] # Swift 6.1
runs-on: ${{ matrix.os }}
env:
OPENBOX_WERROR: 1
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
strategy:
fail-fast: false
matrix:
swift_version: ["6.0"]
swift_version: ["6.1"]
runs-on: ubuntu-22.04
env:
OPENBOX_WERROR: 1
Expand All @@ -24,6 +24,10 @@ jobs:
- name: Swift version
run: |
which swift && swift --version
- name: Toolchain fix patch
run: |
# Fix swift-corelibs-foundation#5211
.github/scripts/fix-toolchain.sh
- name: Building and running tests in debug mode with coverage
run: |
swift test \
Expand Down
18 changes: 12 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,25 @@ RenderBox is a high performance rendering engine written in C++.

And it powers the underlying rendering of SwiftUI.

The project is for the following purposes:
- Add RB support for non-Apple platform (eg. Linux, WASI and Windows)
- Diagnose and debug RB issues on Apple platform

Currently, this project is in early development.

## Build

The current suggested toolchain to build the project is Swift 6.1 / Xcode 16.3.

## Supported platforms

| **CI Status** |
|---|
|[![Compatibility tests](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/compatibility_tests.yml/badge.svg)](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/compatibility_tests.yml)|
|[![macOS](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/macos.yml/badge.svg)](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/macos.yml)|
|[![iOS](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/ios.yml/badge.svg)](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/ios.yml)|
|[![Ubuntu](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/ubuntu.yml/badge.svg)](https://github.com/OpenSwiftUIProject/OpenBox/actions/workflows/ubuntu.yml)|

The project is for the following purposes:
- Add OB support for non-Apple platform (eg. Linux, WASI and Windows)
- Diagnose and debug RB issues on Apple platform

Currently, this project is in early development.

## License

See LICENSE file - MIT