Skip to content

feat: merge-train/barretenberg#20166

Open
AztecBot wants to merge 11 commits intonextfrom
merge-train/barretenberg
Open

feat: merge-train/barretenberg#20166
AztecBot wants to merge 11 commits intonextfrom
merge-train/barretenberg

Conversation

@AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Feb 4, 2026

BEGIN_COMMIT_OVERRIDE
feat: add iOS cross-compilation targets for barretenberg-rs static libraries (#20106)
chore: Generic lookup and permutation audit - 1 (#20008)
END_COMMIT_OVERRIDE

…braries (#20106)

## Summary

Adds iOS cross-compilation support for the barretenberg-rs FFI backend:

- Add `ios.toolchain.cmake` from leetal/ios-cmake project for iOS
cross-compilation
- Add iOS CMake presets (`ios-arm64` for device, `ios-sim-arm64` for
simulator)
- Add `build_ios` function to bootstrap.sh for macOS runners
- Add iOS static library packaging to `build_release_dir`
- Update `build.rs` to support iOS targets (`aarch64-apple-ios`,
`aarch64-apple-ios-sim`)
- Update README with iOS supported targets
- Update `publish-bb-mac.yml` workflow to build and release iOS static
libraries on tag push

## Supported iOS Targets

- `aarch64-apple-ios` - iOS device (arm64)
- `aarch64-apple-ios-sim` - iOS Simulator on Apple Silicon Macs

## How it works

iOS builds cannot be cross-compiled from Linux (requires Xcode/iOS SDK).
The `publish-bb-mac.yml` workflow:

1. Triggers on `v*` tag push (including `ci-release-pr` test tags)
2. Runs on `macos-14` runner with Xcode
3. Builds `bb-external` target for both iOS presets
4. Packages and uploads `barretenberg-static-arm64-ios.tar.gz` and
`barretenberg-static-arm64-ios-sim.tar.gz` to GitHub release

The main Linux release (ci3.yml) handles Linux and macOS (via zig
cross-compile). iOS is handled separately by this workflow.

## Notes

iOS builds are configured to:
- Target iOS 14.0+
- Disable ARC (Automatic Reference Counting) 
- Use the Ninja generator

## Test plan

- [X] Add `ci-release-pr` label to trigger test release
- [X] Verify `publish-bb-mac.yml` workflow runs on macOS runner
- [X] Verify iOS presets configure and build successfully
- [X] Verify `barretenberg-static-arm64-ios.tar.gz` and
`barretenberg-static-arm64-ios-sim.tar.gz` are uploaded to the test
release
Copy link
Collaborator

@ludamad ludamad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Auto-approved

@AztecBot AztecBot enabled auto-merge February 4, 2026 21:08
@AztecBot
Copy link
Collaborator Author

AztecBot commented Feb 4, 2026

🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass.

@AztecBot AztecBot added this pull request to the merge queue Feb 4, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 4, 2026
@AztecBot
Copy link
Collaborator Author

AztecBot commented Feb 4, 2026

Flakey Tests

🤖 says: This CI run detected 1 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (8;;http://ci.aztec-labs.com/4696f792671ec2dd�4696f792671ec2dd8;;�): cd yarn-project/kv-store && yarn test (48s) (code: 1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants