Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
9b0ab13
correct challenge provenance checking + basic test suite and updated …
ledwards2225 Jan 23, 2026
8a39a4f
audittodo for assert eq
ledwards2225 Jan 26, 2026
d5913c5
tag overrides to make ultra verifier tests pass
ledwards2225 Jan 29, 2026
9f3f651
set tags for merge - tests pass
ledwards2225 Jan 30, 2026
b573896
ipa tests pass
ledwards2225 Jan 30, 2026
f1a813b
update in eccvm - goblin tests pass
ledwards2225 Jan 30, 2026
a62f782
Merge branch 'merge-train/barretenberg' into lde/origin-tags-0
ledwards2225 Jan 30, 2026
031d848
test updates
ledwards2225 Jan 30, 2026
ec317f4
remove debug prints
ledwards2225 Jan 30, 2026
5a90b6f
comment
ledwards2225 Jan 30, 2026
1c349e3
gcc fix
ledwards2225 Jan 30, 2026
9f49529
remove some unneeded tags
ledwards2225 Jan 30, 2026
c0f0f08
simplify check_round_provenance
ledwards2225 Feb 9, 2026
e3843c7
comments
ledwards2225 Feb 9, 2026
10b53e3
chore: migrate iOS builds to Zig cross-compilation from Linux (#20293)
johnathan79717 Feb 11, 2026
4d655d0
Merge branch 'next' into merge-train/barretenberg
Feb 11, 2026
0591702
Merge branch 'next' into merge-train/barretenberg
Feb 11, 2026
0bdae15
feat: add Android cross-compilation targets for barretenberg-rs stati…
johnathan79717 Feb 11, 2026
f25b2e3
Merge branch 'next' into merge-train/barretenberg
Feb 11, 2026
98b41a1
Merge branch 'next' into merge-train/barretenberg
Feb 11, 2026
ffa9e2c
fix: [ECCVM] point-at-infinity consistency (#20356)
notnotraju Feb 11, 2026
6131a18
Merge branch 'next' into merge-train/barretenberg
Feb 11, 2026
75ed5ff
Merge branch 'merge-train/barretenberg' into lde/origin-tags-0
ledwards2225 Feb 12, 2026
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
43 changes: 0 additions & 43 deletions .github/workflows/ci3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -261,46 +261,3 @@ jobs:
AWS_SHUTDOWN_TIME: 180
run: |
./.github/ci3.sh network-tests-kind

# iOS cross-compilation build for barretenberg.
# Runs in parallel with the main CI job on every PR (~9 min per target).
# This builds the bb-external static library for iOS devices and simulators.
# Non-blocking (continue-on-error) to avoid rugging releases - alerts #honk-team on failure.
build-bb-ios:
name: Build iOS static libraries
runs-on: macos-14
if: github.event.pull_request.head.repo.fork != true && github.event.pull_request.draft == false
continue-on-error: true
strategy:
fail-fast: false
matrix:
include:
- preset: ios-arm64
label: arm64-ios
- preset: ios-sim-arm64
label: arm64-ios-sim
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683

- name: Create Build Environment
run: |
brew install cmake ninja

- name: Compile bb-external for iOS
working-directory: barretenberg/cpp
run: |
cmake --preset ${{ matrix.preset }}
cmake --build --preset ${{ matrix.preset }} --target bb-external

- name: Notify Slack on failure
if: failure()
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
run: |
if [ -n "${SLACK_BOT_TOKEN}" ]; then
curl -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-type: application/json" \
--data "{\"channel\": \"#honk-team\", \"text\": \"iOS build (${{ matrix.preset }}) FAILED: <https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Run>\"}"
fi
134 changes: 0 additions & 134 deletions .github/workflows/publish-bb-mac.yml

This file was deleted.

45 changes: 43 additions & 2 deletions barretenberg/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,29 @@ THE PROJECT ROOT IS AT ONE LEVEL ABOVE THIS FOLDER. Typically, the repository is

**IMPORTANT**: When comparing branches or looking at diffs for barretenberg work, use `origin/merge-train/barretenberg` as the base branch, NOT `master` or `next`. Create new branches off `origin/merge-train/barretenberg` and target PRs to `merge-train/barretenberg`.

Examples:
- `git checkout -b my-branch origin/merge-train/barretenberg` (create a new branch)
## Creating a new branch

**Always fetch the latest changes before creating a new branch:**

```bash
git fetch origin merge-train/barretenberg
git checkout -b my-branch origin/merge-train/barretenberg
```

## Rebasing your branch

When your branch becomes out-of-date with the base branch, rebase (don't merge):

```bash
git fetch origin merge-train/barretenberg
git rebase origin/merge-train/barretenberg
git push -f # Force push after rebase (only when necessary)
```

**During active development:** Avoid `git push --force` when iterating on changes - use regular `git push` after each commit to make iteration history visible. Only use force-push after rebasing or when you need to rewrite history.

## Common commands

- `git diff origin/merge-train/barretenberg...HEAD` (not `git diff master...HEAD`)
- `git log origin/merge-train/barretenberg..HEAD` (not `git log master..HEAD`)
- `gh pr create --base merge-train/barretenberg` (target PRs to merge-train)
Expand All @@ -17,6 +38,26 @@ Barretenberg issues are tracked at `AztecProtocol/barretenberg` (separate repo),
Run ./bootstrap.sh at the top-level to be sure the repo fully builds.
Bootstrap scripts can be called with relative paths e.g. ../barretenberg/bootstrap.sh

## CI labels for PRs

Add GitHub labels to PRs to control what CI runs. Choose based on what changed:

- **`ci-barretenberg`** — Barretenberg-only builds (default for `merge-train/barretenberg` branch). Core tests, no cross-compilation.
- **`ci-barretenberg-full`** or **`ci-full`** — Full builds including cross-compilation (macOS, iOS, ARM64 Linux), SMT verification, ASAN, and GCC syntax checks. Use when changing CMake presets, bootstrap.sh, or build infrastructure.
- **`ci-release-pr`** — Creates a test release tag for pre-release validation. Use when changing release packaging or publish workflows.

## Handling noir/noir-repo submodule

If `git status` shows `noir/noir-repo` as modified but your changes have nothing to do with updating noir, run:

```bash
git submodule update noir/noir-repo
```

This resets the submodule to the correct commit for the current branch. This commonly happens when switching branches.

**Note:** If you're intentionally updating the noir submodule to a newer version, use the `noir-sync-update` skill instead, which handles the full update workflow including `Cargo.lock` and `yarn.lock` updates.

# Modules

## ts/ => typescript code for bb.js
Expand Down
2 changes: 2 additions & 0 deletions barretenberg/cpp/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,5 @@ bench-out
src/barretenberg/avm_fuzzer/corpus/**
src/barretenberg/avm_fuzzer/coverage/**
out
ios-sdk/
android-sysroot/
92 changes: 66 additions & 26 deletions barretenberg/cpp/CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -532,35 +532,65 @@
}
},
{
"name": "ios-arm64",
"displayName": "Build for iOS arm64 (device)",
"description": "Build for iOS arm64 devices using ios.toolchain.cmake",
"binaryDir": "build-ios-arm64",
"generator": "Ninja",
"toolchainFile": "cmake/toolchains/ios.toolchain.cmake",
"name": "zig-arm64-ios",
"displayName": "iOS arm64 static library (Zig)",
"description": "Cross-compile static libraries for iOS arm64 devices using Zig. Only supports static library targets (no linking) — Zig lacks iOS TBD/dylib support.",
"inherits": "zig-base",
"environment": {
"CC": "zig cc -target aarch64-ios -mios-version-min=16.3 -isystem ${sourceDir}/ios-sdk/iPhoneOS26.2.sdk/usr/include",
"CXX": "zig c++ -target aarch64-ios -mios-version-min=16.3 -isystem ${sourceDir}/ios-sdk/iPhoneOS26.2.sdk/usr/include"
},
"cacheVariables": {
"PLATFORM": "OS64",
"DEPLOYMENT_TARGET": "16.3",
"CMAKE_BUILD_TYPE": "Release",
"ENABLE_PIC": "ON",
"ENABLE_ARC": "OFF",
"CMAKE_SYSTEM_NAME": "Generic",
"CMAKE_TRY_COMPILE_TARGET_TYPE": "STATIC_LIBRARY",
"HAVE_STD_REGEX": "ON",
"MOBILE": "ON"
}
},
{
"name": "ios-sim-arm64",
"displayName": "Build for iOS Simulator arm64",
"description": "Build for iOS Simulator on Apple Silicon using ios.toolchain.cmake",
"binaryDir": "build-ios-sim-arm64",
"generator": "Ninja",
"toolchainFile": "cmake/toolchains/ios.toolchain.cmake",
"name": "zig-arm64-ios-sim",
"displayName": "iOS Simulator arm64 static library (Zig)",
"description": "Cross-compile static libraries for iOS Simulator on ARM64 using Zig. Only supports static library targets (no linking) — Zig lacks iOS TBD/dylib support.",
"inherits": "zig-base",
"environment": {
"CC": "zig cc -target aarch64-ios-simulator -mios-version-min=16.3 -isystem ${sourceDir}/ios-sdk/iPhoneOS26.2.sdk/usr/include",
"CXX": "zig c++ -target aarch64-ios-simulator -mios-version-min=16.3 -isystem ${sourceDir}/ios-sdk/iPhoneOS26.2.sdk/usr/include"
},
"cacheVariables": {
"PLATFORM": "SIMULATORARM64",
"DEPLOYMENT_TARGET": "16.3",
"CMAKE_BUILD_TYPE": "Release",
"ENABLE_PIC": "ON",
"ENABLE_ARC": "OFF",
"CMAKE_SYSTEM_NAME": "Generic",
"CMAKE_TRY_COMPILE_TARGET_TYPE": "STATIC_LIBRARY",
"HAVE_STD_REGEX": "ON",
"MOBILE": "ON"
}
},
{
"name": "zig-arm64-android",
"displayName": "Android arm64 static library (Zig)",
"description": "Cross-compile static libraries for Android arm64 devices using Zig. Only supports static library targets (no linking).",
"inherits": "zig-base",
"environment": {
"CC": "zig cc -target aarch64-linux-android -isystem ${sourceDir}/android-sysroot/usr/include -isystem ${sourceDir}/android-sysroot/usr/include/aarch64-linux-android",
"CXX": "zig c++ -target aarch64-linux-android -isystem ${sourceDir}/android-sysroot/usr/include -isystem ${sourceDir}/android-sysroot/usr/include/aarch64-linux-android"
},
"cacheVariables": {
"CMAKE_SYSTEM_NAME": "Generic",
"CMAKE_TRY_COMPILE_TARGET_TYPE": "STATIC_LIBRARY",
"HAVE_STD_REGEX": "ON",
"MOBILE": "ON"
}
},
{
"name": "zig-x86_64-android",
"displayName": "Android x86_64 static library (Zig)",
"description": "Cross-compile static libraries for Android x86_64 emulator using Zig. Only supports static library targets (no linking).",
"inherits": "zig-base",
"environment": {
"CC": "zig cc -target x86_64-linux-android -isystem ${sourceDir}/android-sysroot/usr/include -isystem ${sourceDir}/android-sysroot/usr/include/x86_64-linux-android",
"CXX": "zig c++ -target x86_64-linux-android -isystem ${sourceDir}/android-sysroot/usr/include -isystem ${sourceDir}/android-sysroot/usr/include/x86_64-linux-android"
},
"cacheVariables": {
"CMAKE_SYSTEM_NAME": "Generic",
"CMAKE_TRY_COMPILE_TARGET_TYPE": "STATIC_LIBRARY",
"HAVE_STD_REGEX": "ON",
"MOBILE": "ON"
}
Expand Down Expand Up @@ -753,13 +783,23 @@
"inheritConfigureEnvironment": true
},
{
"name": "ios-arm64",
"configurePreset": "ios-arm64",
"name": "zig-arm64-ios",
"configurePreset": "zig-arm64-ios",
"inheritConfigureEnvironment": true
},
{
"name": "zig-arm64-ios-sim",
"configurePreset": "zig-arm64-ios-sim",
"inheritConfigureEnvironment": true
},
{
"name": "zig-arm64-android",
"configurePreset": "zig-arm64-android",
"inheritConfigureEnvironment": true
},
{
"name": "ios-sim-arm64",
"configurePreset": "ios-sim-arm64",
"name": "zig-x86_64-android",
"configurePreset": "zig-x86_64-android",
"inheritConfigureEnvironment": true
}
],
Expand Down
Loading
Loading